CentOS7安装Tomcat

一.二进制包安装Tomcat

1.下载解压二进制包

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz
tar zxvf apache-tomcat-8.5.32.tar.gz -C /usr/local/
cd /usr/local/
ln -s /usr/local/apache-tomcat-8.5.32 /usr/local/tomcat # 创建软连接

2.关闭SELinux

setenforce 0 # 临时关闭
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config # 永久关闭

3.防火墙开启8080端口

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT # 临时生效
/etc/init.d/iptables save # 保存到配置文件,永久生效
/etc/init.d/iptables status # 查看iptables当前状态

4.启动tomcat进程

/usr/local/tomcat/bin/startup.sh 

5.查看tomcat进程

ps -ef|grep tomcat

6.查看tomcat进程对应的端口是否成功启动

lsof -i:8080

7.测试是否能成功访问

curl http://localhost:8080
http://192.168.164.134:8080/

8.编写jsp测试程序

cat > /usr/local/tomcat/webapps/ROOT/test.jsp << eof
<html>
        <head>
                <title>Hello World</title>
        </head>
        <body>
                <%
                        out.println("Hello World!");
                %>
        </body>
</html>
eof

#通过浏览器访问test.jsp
http://192.168.164.134:8080/test.jsp

9.以普通用户身份运行tomcat(jsvc方式运行tomcat)

通过/usr/local/tomcat/bin/startup.sh脚本启动tomcat,如果需要让tomcat监听80端口就必须使用root用户来运行此脚本,这样在安全上存在风险。jsvc是daemon模式来启动tomcat的程序,可以在普通用户下打开80端口。

9.1 创建tomcat启动用户

#创建tomcat用户组和用户
getent group tomcat || groupadd -r tomcat
#这里的tomcat用户没有登录权限,如果需要su切换到tomcat启动,则需要设置-s为/bin/bash
getent passwd tomcat || useradd -r -d /usr/local/tomcat -s /sbin/nologin -g tomcat tomcat

#设置tomcat用户组和用户的目录权限
chown -R tomcat:tomcat /usr/local/tomcat

9.2 配置tomcat环境变量

cat > /etc/profile << eof
#set tomcat environment
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
eof

#使用新加的环境变量立即生效
source /etc/profile

9.3 创建setenv.sh,增加启动参数

#在 tomcat/bin 目录下面,增加 setenv.sh 
cat > /usr/local/tomcat/bin/setenv.sh << eof
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/logs/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
eof

9.4 安装jsvc

cd /usr/local/tomcat/bin/
tar zxvf commons-daemon-native.tar.gz
cd commons-daemon-1.1.0-native-src/unix/
./configure --with-java=/usr/java/jdk #这里需要gcc、make等编译工具,可以yum -y groupinstall "Development Tools"安装
make 
cp jsvc /usr/local/tomcat/bin/

9.5 设置启动脚本

ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat #设置软链接
vi /etc/init.d/tomcat
#在第二行添加
# chkconfig: 2345 85 15
# description: Tomcat daemon
#set java home
JAVA_HOME=/usr/java/jdk
# 保存退出

#需要设置其中的TOMCAT_USER=tomcat,JAVA_HOME=/usr/java/jdk
#每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,可以用 跨行注释。

#前台启动tomcat
/etc/init.d/tomcat run

#启动tomcat
/etc/init.d/tomcat start

#设置开机自启动
chkconfig --add tomcat

9.6 使用systemctl来管理tomcat

#查看tomcat状态
systemctl status tomcat.service

#启动tomcat
systemctl start tomcat.service

#设置tomcat开机自启动
systemctl enable tomcat.service

#重启tomcat
systemctl restart tomcat.service

#停止tomcat
systemctl stop tomcat.service

#取消tomcat开机自启动
systemctl disable tomcat.service

二.源码包安装Tomcat

http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.32/src/apache-tomcat-8.5.32-src.tar.gz

Tomcat8下载地址:

http://tomcat.apache.org/download-80.cgi

参考资料:

https://www.jianshu.com/p/29ecd624046f

http://www.zhengdazhi.com/archives/1382

https://blog.csdn.net/lee4755026/article/details/50146287

https://blog.csdn.net/tiantang_1986/article/details/53704966

http://commons.apache.org/proper/commons-daemon/jsvc.html

https://www.cnblogs.com/allegro/p/5005352.html

https://www.cnblogs.com/origalom/p/7666897.html

原文地址:https://www.cnblogs.com/wushuaishuai/p/9323214.html