服务器端 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 ...
随机推荐
- apt-get使用指南
最近频繁使用apt-cache show(查看软件包详细信息)与apt-cache search(搜寻具体软件包确切名称)命令,深感方便与功能强大.现将一些apt-get相关命令做一个简单的收集: a ...
- 转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验
出处:http://www.cnblogs.com/Laupaul/archive/2012/03/15/2398360.html http://www.blogjava.net/focusJ/arc ...
- 复习1背包dp
背包问题是对于一个有限制的容器,一般计算可以装的物品的价值最值或数量.通常每个物品都有两个属性空间和价值,有时还有数量或别的限制条件,这个因体而异. 背包大概分成3部分,下面会细述这最经典的3种题型 ...
- 网上的仿QQ验证码,详细使用方法
struts2的配置 和代码 1.生成图片流 类名:VerifyCodeUtils /** * 生成图片流 * @author Administrator * */ import java.awt.C ...
- xcode执行后没看到输出的解决的方法
今天刚在虚拟机中的mac苹果里安装xcode.然后開始看Objective-C. 安装完后由于有默认的代码输出Hello world! ,所以就尝试执行了一发: 可惜没看到输出在哪,尼玛.还以为刚開始 ...
- jquery-mobile 学习笔记之二(表单创建)
绪上 一.注意事项 1. <form> 元素必须设置 method 和 action 属性 2. 每一个表单元素必须设置唯一的 "id" 属性. 该 id 在网站的页面 ...
- 解决MyEclipse中导入项目@Override错误
做项目的时候,同事那边电脑上编译通过的java代码,或者是网上下载的例子代码,导入project后却是编译不通过,总是@override报错,把@override去掉就好了,有时候@Override出 ...
- 使用git命令 (git reset --hard HEAD) 回退版本信息
Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100 ...
- Bing Maps进阶系列八:在Bing Maps中集成OpenStreetMap地图
Bing Maps进阶系列八:在Bing Maps中集成OpenStreetMap地图 OSM(OpenStreetMap-开放街道地图)服务就是一种发布自己地图数据图片为服务的一种实现类型,开放街道 ...
- eclipse高亮选中属性以及更改颜色
1.显示: 1.1.工具栏里有个黄色小笔的图标,点一下就好了 1.2.打开对话框windows->preference,在左上角输入mark Occurrencs 把右边都选 ...