服务器端 CentOS 下配置 JDK 和 Tonmcat 踩坑合集
一、配置 JDK 时,在 /etc/profile 文件下配置环境变量,添加
#java environment
export JAVA_HOME=/usr/java/jdk-10.0.
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
注意:
1、JAVA_HOME 地址按照自己配置的来
2、不需要再 export JRE_HOME
二、安装 Tomcat 后,不需要再配置环境变量
1、在 bin/conf/server.xml 下修改启动端口号,建议直接改成 80,因为此时浏览器直接输入 ip 即可访问 Tomcat 所部署的应用,注意防火墙开启这些端口。
2、查看日志,看是否报错端口被占用;若报错,可以用 netstat –lntup 命令查看端口进程及 PID 号,用 kill -9 PID 命令杀死进程,再启动试试。
3、最严重的坑是,默认 8005 端口用于 shutdown,该端口没有正常启动,则无法正常执行 startup.sh 和 shutdown.sh,而 8005 端口启动特别慢,大约十几分钟。 若执行完 startup.sh 后立马在浏览器输入 ip 可能会没有响应,需要等 8005 端口正常启动后才行。此间若错误地再执行 startup.sh 则日志文件会显示端口被占用,原因是没等正常启动 tomcat 完就多次重新启动,而此时因为 8005 未正常启动,故执行 shutdown.sh 也会报错。
4、查看日志,8005 端口之所以启动慢,是因为出于安全地计算随机数的过程卡顿,直接配置 jdk securerandom.source 为 urandom 解决:
- 打开 $JAVA_HOME/jre/lib/security/java.security 这个文件,找到 securerandom.source 配置项
- 修改为:securerandom.source=file:/dev/urandom
5、建议正常安装并启动 tomcat,耐心等待,netstat -lntup 命令查看处在 listen 状态的端口,所需的端口都正常启动了,查看日志文件,日志输出不报错,再用浏览器访问 ip。
三、经验教训
1、安装配置的时候,多看一些博客,选取靠谱并详细的博客,合理归纳必要的步骤理解其意义,再来安装配置。
2、多看报错的提示,包括日志文件,对每一个报错,翻译并理解其含义,上网查原因和解决办法,然后多尝试。
3、熟悉一下 CentOS 下建立和移动文件夹命令,安装的相关命令,firewall、netstat、kill 等系列命令,可能会有用。
服务器端 CentOS 下配置 JDK 和 Tonmcat 踩坑合集的更多相关文章
- CentOS下配置jdk
CentOS下配置jdk 1.在jdk官网上下载最新版本的jdk 2.将jdk放到相应的位置,使用如下命令来解压. .0_181 /opt/data/ tar -zxf jdk-8u181-linux ...
- 在CentOS/Windows下配置Nginx(以及踩坑)
在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...
- 小程序框架WePY 从入门到放弃踩坑合集
小程序框架WePY 从入门到放弃踩坑合集 一点点介绍WePY 因为小程序的语法设计略迷, 所以x1 模块化起来并不方便, 所以x2 各厂就出了不少的框架用以方便小程序的开发, 腾讯看到别人家都出了框架 ...
- better-scroll踩坑合集
better-scroll踩坑合集:https://www.jianshu.com/p/6338a8033281
- CentOS 下配置JDK
从官网上下载jdk到系统中,并解压好 tar –axvf jdk.tr.gz 1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找 ...
- tensorflow踩坑合集2. TF Serving & gRPC 踩坑
这一章我们借着之前的NER的模型聊聊tensorflow serving,以及gRPC调用要注意的点.以下代码为了方便理解做了简化,完整代码详见Github-ChineseNER ,里面提供了训练好的 ...
- tensorflow feature_column踩坑合集
踩坑内容包含以下 feature_column的输入输出类型,用一个数据集给出demo feature_column接estimator feature_column接Keras feature_co ...
- centos下安装redis(记录其中踩坑的过程)
一.先下载到redis-3.0.4.tar.gz包(本文以3.0.4版本为例) 我将这个包放在/opt目录下,在/opt下并解压这个包 tar -zxvf redis-.tar.gz 然后进入redi ...
- arm安装cuda9.0,tensorflow-gpu, jetson tx2安装Jetpack踩坑合集
因为要在arm(aarch64)架构的linux环境中安装tensorflow-gpu,但是官方tf网上没有对应的版本,所以我们找了好久,找到一个其他人编译好的tensorflow on arm的gi ...
随机推荐
- 【BZOJ1014】火星人prefix(splay,Hash)
题意: . 思路: ; ..,..]of longint; sum,size,fa,a,b,id,mi:..]of longint; n,m,i,x,y,s,k,j,cnt,root:longint; ...
- MySQL大小写问题的简单说明(关键字/函数/表名)(转)
MySQL语句中字母大小写规则随着语句元素的不同而变化,同时还要取决于MySQL服务器主机上的操作系统. SQL关键字与函数名 关键字和函数名不区分字母的大小写.如.abs.bin.now.versi ...
- Animations动画和Keyframes关键帧
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ngTbale真分页实现排序、搜索等功能
一. 真分页表格基础 1. 需求:分页,排序,搜索都是需要发API到服务端. 2. JS实现代码: getStorage是localStorage一个工具方法,可以自己写这个方法. API参数如下: ...
- CN Internet
来自为知笔记(Wiz)
- 1.7-BGP④
注意:默认路由ip route 0.0.0.0 0.0.0.0 12.1.1.1是不可以作为BGP邻居TCP始发连接的(但回包可以) 要配静态路由:ip route 13.1.1.3 255.255. ...
- Flume NG源代码分析(二)支持执行时动态改动配置的配置模块
在上一篇中讲了Flume NG配置模块主要的接口的类,PropertiesConfigurationProvider提供了基于properties配置文件的静态配置的能力,这篇细说一下PollingP ...
- 《Linux Device Drivers》第八章 分配内存——note
本章主要介绍Linux内核的内存管理. kmalloc函数的内幕 不正确所获取的内存空间清零 分配的区域在物理内存中也是连续的 flags參数 <linux/slab.h> <lin ...
- 打造atom成为golang开发神器
在我在Windows系统上开发的日子里.我使用IDE开发数年之久.比如Visual Basic IDE, Borland Delphi IDE, Visual C++ 和最后的Visual Studi ...
- URAL 1326. Bottle Taps(简单的状压dp)
题目不太好读懂,就是先给你一个n代表要从n个物品中买东西,然后告诉你这n个东西的单位价格,在给你m个集合的情况.就是每一个结合中有x件物品.他们合起来买的价格是k.这x件物品依次是:p1--px.之后 ...