Tomcat以Daemon的方式启动(CentOS6&7)
1 前言
一直以来都觉得Tomcat以root身份运行非常不安全,故研究Tomcat如何以普通用户身份运行,以下是参考网络上的一些配置实现Tomcat以daemon方式运行于CentOS 6&7系统下面。
2 实践部分
2.1 环境配置
2.1.1 系统环境
ipaddress=10.168.0.157
OS=CentOS 6&7
2.1.2 配置编译环境
yum -y install gcc gcc-c++ make expat-devel
2.1.3 下载JDK
1)下载页面:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2)下载选择
请选择“jdk-8u111-linux-x64.tar.gz”下载,命令行如下:
wget http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz?AuthParam=1479977626_06aed8a715c8fbbc10f72c89ee38910b
2.1.4 下载Tomcat
1)下载页面
http://tomcat.apache.org/
2)下载选择
请选择“Tomcat 9.0.0.M13”下载(注意选择“Binary Distributions”)版本,命令行如下:
wget http://apache.fayea.com/tomcat/tomcat-9/v9.0.0.M13/bin/apache-tomcat-9.0.0.M13.tar.gz
2.1.5 配置防火墙
In CentOS 6
vim /etc/sysconfig/iptables
增加如下行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
重启防火墙使服务生效
/etc/init.d/iptables restart
In CentOS 7
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --list-all
2.2 配置JDK
2.2.1 创建java目录
mkdir /usr/java
2.2.2 解压
tar xf jdk-8u111-linux-x64.tar.gz
mv jdk1.8.0_111 /usr/java/
2.2.3 配置环境变量
vim /etc/profile
末尾加入如下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_111
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
注:以上配置只是为了下面的daemon环境的编译,编译完可以注释
2.2.4 配置生效
source /etc/profile
2.2.5 环境变量测试
java -version
2.3 配置Tomcat
2.3.1 创建tomcat目录
mkdir /usr/tomcat
2.3.2 解压
tar -xf apache-tomcat-9.0.0.M13.tar.gz
mv apache-tomcat-9.0.0.M13 /usr/tomcat/
2.3.3 配置环境变量
vim /usr/tomcat/apache-tomcat-9.0.0.M13/bin/setenv.sh
输入如下配置
JAVA_HOME=/usr/java/jdk1.8.0_111
JRE_HOME=${JAVA_HOME}/jre
CATALINA_HOME=/usr/tomcat/apache-tomcat-9.0.0.M13
CATALINA_BASE=${CATALINA_HOME}
JAVA_OPTS='-server -Xms2048m -Xmx4096m -Xss512k'
环境变量配置请参考以下命令输出的内容:
grep '^#' /usr/tomcat/apache-tomcat-9.0.0.M13/bin/catalina.sh
2.3.4 解压daemon工具包
tar -xf /usr/tomcat/apache-tomcat-9.0.0.M13/bin/commons-daemon-native.tar.gz
2.3.5 编译daemon工具包
cd /usr/tomcat/apache-tomcat-9.0.0.M13/bin/commons-daemon-1.0.15-native-src/unix/
./configure
make
2.3.6 配置daemon运行环境
cp jsvc /usr/tomcat/apache-tomcat-9.0.0.M13/bin/
useradd -M -d /usr/tomcat/apache-tomcat-9.0.0.M13/ -s /sbin/nologin tomcat
chown -R tomcat: /usr/tomcat/apache-tomcat-9.0.0.M13
2.3.7 手动测试服务启停
sudo -u tomcat /usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.sh start
sudo -u tomcat /usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.sh stop
确认服务正常启动与关闭:
netstat -antp
浏览器测试确认:
2.3.8 启动服务与配置服务开机启动
In CentOS 6
ln -s /usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.sh /etc/init.d/tomcat9
/etc/init.d/tomcat9 start
vim /etc/init.d/tomcat9
第二行加入如下内容:
# chkconfig: 2345 55 25
配置服务自启动:
chkconfig tomcat9 on
In CentOS 7
vim /lib/systemd/system/tomcat9.service
输入如下内容:
[Unit]
Description=seafile
After=network.target
[Service]
Type=forking
ExecStart=/usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.sh start
ExecReload=/usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.sh restart
ExecStop=/usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.sh stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
测试服务运行
systemctl start tomcat9.service
systemctl restart tomcat9.service
systemctl stop tomcat9.service
配置服务自启动
systemctl enable tomcat9.service
===============================================================
Tomcat以Daemon的方式启动(CentOS6&7)的更多相关文章
- 如何在开机时让Tomcat以进程的方式启动
一. 安装tomcat服务 1. 打开cmd命令窗口,进入到"tomcat安装路径/bin"目录下,运行"service.bat install"命令,安装to ...
- 以服务方式启动tomcat无法访问NFS共享盘
用startup.bat方式启动tomcat,程序的可以访问NFS共享盘的文件.但用 1).以服务的方式启动tomcat 2).或者用windows的任务计划去执行startup.bat的方式启动to ...
- 启动Tomcat的几种方式
启动Tomcat有两种场景,一是部署时启动,二是开发时启动.部署时基本上是通过war包来启动,而开发时的启动方式多种多样,下面拟介绍几种适用于开发时启动Tomcat的方法. 在DOS命令行启动 Apa ...
- CentOS以守护进程的方式启动程序的另类用法daemon
在Linux下如果以守护进程的方式启动程序,也就是后台运行,有几种方式,比如后面带&&,nuhop,那么在CentOS下可以使用daemon这个函数来启动,比如: daemon --p ...
- windows系统bat方式启动tomcat出现java.lang.OutOfmemoryError:PermGen Space 错误
1.问题情景: 在部署项目时,将两个应用部署到同一个tomcat下,通过startup.bat启动服务时,控制台出现出现java.lang.OutOfmemoryError:PermGen Space ...
- idea中使用tomcat 方式启动spring boot项目
Spring boot 的main 入口启动方式相信都会用,直接运行main直接就启动了,但是往往这种方式并不是最佳的启动方式,比如运维的层面更希望调整tomcat的调优参数,而只使用嵌入启动方式很难 ...
- Mongodb后台daemon方式启动
Mongodb可以通过命令行方式和配置文件的方式来启动,具体命令如下: 命令行: [root@localhost mongodb]# ./bin/mongod --dbpath=/data/db 配置 ...
- Spring Boot移除内嵌Tomcat,使用非web方式启动
前言:当我们使用Spring Boot编写了一个批处理应用程序,该程序只是用于后台跑批数据,此时不需要内嵌的tomcat,简化启动方式使用非web方式启动项目,步骤如下: 1.在pom.xml文件中去 ...
- 【翻译】Tomcat 6.0 安装与启动
本篇来自Tomcat6官方文档:运行手册running.txt 有很多以前都没注意的问题,这里正好学习下. 系列文章来自:<Tomcat官方文档翻译> Tomcat的安装 1 确认本机是否 ...
随机推荐
- Yii2 查询构建器 QueryBuilder
查询构造器 QueryBuilder 1.什么是查询构建器 查询构建器也是建立在 DAO 基础之上,可让你创建程序化的.DBMS 无关的 sql 语句,并且这样创建的 sql 语句比原生的 sql 语 ...
- mysql trigger
转自:https://www.cnblogs.com/zyshi/p/6618839.html 阅读目录 什么是触发器 特点及作用 例子:创建触发器,记录表的增.删.改操作记录 弊端 什么是触发器 简 ...
- Python高级有关的题目
1,copy模块 from copy import deepcopy dic = {} list = [] for i in range(10): dic["num"] = i i ...
- Docker 常用命令(二)
4. 查看Docker镜像创建历史: docker history flaskhello 3. Docker提交镜像 docker build -t flaskhello . docker run - ...
- poj3253 Fence Repair(贪心+哈夫曼 经典)
https://vjudge.net/problem/POJ-3253 很经典的题,运用哈夫曼思想,想想很有道理!! 具体实现还是有点绕人,最后被long long卡了一下,看数据大小的时候单纯相乘了 ...
- hdu3466 Proud Merchants(01背包)
https://vjudge.net/problem/HDU-3466 一开始想到了是个排序后的背包,但是排序的策略一直没对. 两个物品1和2,当p1+q2>p2+q1 => q1-p1& ...
- Java程序猿怎样高速理解Kubernetes
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/82892167 https: ...
- DroneCI启用privileged
https://www.aliyun.com/jiaocheng/123155.html?spm=5176.100033.2.5.EIV4p6 drone的服务需要配置DRONE_ADMIN环境变量, ...
- pip install whl
$ pip install --download /tmp/offline_packages -r requirements.txt $ pip install --no-index --find-l ...
- hive SQL COALESCE 函数
COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值.如果所有的表达式都是空 ...