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

浏览器测试确认:

http://10.168.0.157:8080/

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

===============================================================

原文地址:https://www.cnblogs.com/beyang/p/10525150.html

时间: 2024-11-08 01:59:38

Tomcat以Daemon的方式启动(CentOS6&7)的相关文章

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)下载页面: htt

tomcat的daemon安装方式

由于使用的方式,会出现很多致命的bug,所以现在用tomcat的方式来启动jenkins,先得安装一下tomcat,简单记录一下tomcat的安装 一,首先需要JDK环境 当然最好使用官方的java,目前还是尽量不要使用openjdk,java的安装就不说了,搞计算机的也差不多都知道了,下面说一下tomcat的安装,不要忘了设置环境变量,全局的或者局部的,看自己,例如 JAVA_HOME=/usr/java/jdk1.7 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.

使用daemon方式启动tomcat(CentOS7)

在生产中,tomcat应该以daemon的模式运行,而且如果需要以普通用户的身份启动tomcat,那么就不能使用1024以下的端口,这是Liunx系统的限制,只有root用户才能使用小于1024的端口.那么该如何将tomcat配置成服务呢?接下来,我们就来聊一聊jsvc这个东东.jsvc是什么,简单的讲,它就是一个C程序,是tomcat发行版中自带的一套代码,路径在tomcat/bin/commons-daemon-native.tar.gz中.有了jsvc,我们就可以简单的定制tomcat的启

windows系统bat方式启动tomcat出现java.lang.OutOfmemoryError:PermGen Space 错误

1.问题情景: 在部署项目时,将两个应用部署到同一个tomcat下,通过startup.bat启动服务时,控制台出现出现java.lang.OutOfmemoryError:PermGen Space 错误服务器环境:    系统版本:windows server 2008 r2    安装内存:64GB    处理器:8核(具体型号记不得了) 2.解决方法: PermGen Space:全称是Permanent Generation Space,是指内存的永久保存区域,这块内存主要是被JVM存

Mongodb后台daemon方式启动

Mongodb可以通过命令行方式和配置文件的方式来启动,具体命令如下: 命令行: [[email protected] mongodb]# ./bin/mongod --dbpath=/data/db 配置文件: [[email protected] mongodb]# ./bin/mongod -f mongodb.conf 但是这两种方式都是在前台启动Mongodb进程,如果Session窗口关闭,Mongodb进程也随之停止.不过Mongodb同时还提供了一种后台Daemon方式启动,只需

【翻译】Tomcat 6.0 安装与启动

本篇来自Tomcat6官方文档:运行手册running.txt 有很多以前都没注意的问题,这里正好学习下. 系列文章来自:<Tomcat官方文档翻译> Tomcat的安装 1 确认本机是否已安装JRE或者JDK,可以通过在命令行中输入java -version来查看. tomcat6需要JDK或者JRE在5或者之后的版本. 2 下载tomcat:http://tomcat.apache.org/download-60.cgi 可以选择下载二进制安装文件Installer或者直接下载压缩包. 这

java+tomcat+apache安装整合,启动/关闭,添加开机启动服务

安装java1.8 #yum update    服务器更新源码包 #rpm -qa |grep -E '^open[jre|jdk]|j[re|dk]'  搜索任何版本的已安装JDK组件 java-1.8.0-openjdk-headless-1.8.0.60-2.b27.el7_1.x86_64 pygobject2-2.28.6-11.el7.x86_64 pygobject3-base-3.8.2-6.el7.x86_64 java-1.8.0-openjdk-1.8.0.60-2.b2

使用Tomcat中的start.bat启动服务,配置jdk的路径

为什么要在setclasspath.bat设置JAVA_HOME和JRE_HOME的变量的值? 在windows环境下以批处理文件方式启动tomcat,只要运行<CATALINA_HOME>/bin/startup.bat这个文件,就可以启动Tomcat.在启动时,startup.bat会调用catalina.bat文件,而catalina.bat会调用setclasspath.bat文件来获取JAVA_HOME和JRE_HOME这两个环境变量的值,因此若要在tomcat启动时指向特定的JDK

Centos 7.3 Tomcat 8.0.36 JDK8u91 启动卡住半天才能正常启动解决方案

今天在阿里云上购买了一台新的服务器   版本为  Centos7.3   但是在上面发布项目的时候遇到一个很奇葩的问题,tomcat启动会卡住半天!!!! 启动tomcat无错 tail -f catalina.out日志 和 catalina.sh run 方式启动时 卡在11-Oct-2017 13:50:52.538 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Dep