服务器端 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 ...
随机推荐
- SCOI2010第一场
NOI2010全国青少年信息学奥林匹克竞赛 四川代表队选拔赛 第一场 题目名称 幸运数字 游戏 股票交易 英文代号 luckynumber game trade 时限 2秒 2秒 2秒 输入文件 lu ...
- 《Spring in action》之高级装配
1.Spring 通过配置profile bean.激活profile来设置对应环境. 配置profile bean: 可通过@Profile("dev")注解进行配置.也可以通过 ...
- Spring Boot中使用Swagger2生成RESTful API文档(转)
效果如下图所示: 添加Swagger2依赖 在pom.xml中加入Swagger2的依赖 <!-- https://mvnrepository.com/artifact/io.springfox ...
- 时间插件,js格式化,js某月天数,js某月最后一天日期
//时间格式化 Date.prototype.format = function(fmt) { var o = { "M+": this.getMonth() + 1, //月份 ...
- iOS xmpp协议实现聊天之openfire的服务端配置(二)
本篇主要说一下怎样利用命令行来正确配置MySql. 首先打开终端: 1.为mysql起一个别名 alias mysql=/usr/local/mysql/bin/mysql 2.创建mysql的管理员 ...
- [Vue @Component] Load Vue Async Components
Vue provides a straight-forward syntax for loading components at runtime to help shave off initial b ...
- iOS 文字属性字典
iOS开发过程中相信大家常常遇到当须要给字体,颜色,下划线等属性的时候參数是一个NSDictionary 字典 可是字典里面究竟有哪些键值对了 我们把经常使用的总结一下 首先我们创建一个最简单的.设置 ...
- Java泛型解析(01):认识泛型
Java泛型解析(01):认识泛型 What Java从1.0版本号到如今的8.中间Java5中发生了一个非常重要的变化,那就是泛型机制的引入.Java5引入了泛型,主要还是为了满足在199 ...
- 小胖说事31------iOS 真机编译错误"“XXX”的 iPod" and run "XXX" again, or if "XXX" is still running
在真机上測试时用一会就出现例如以下信息,且应用挂掉. Restore the connection to ""XXX"的 iPod" and run " ...
- Cocos2d-x3.3RC0载入Android的WebView
代码部分摘自http://www.fusijie.com/blog/2013/12/26/play-cocos2dx-33/ Cocos2d-x3.3RC0通过Jni嵌入Android的WebView ...