<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在实际部署tomcat的时候,同样是不使用root用户的,还是基于普通用户进行部署。但是</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">需要知道</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">一点,非root用户是不可以监听1023一下端口,我们一般开发的时候通常是使用8080端口,当然,在部署的时候,可以监听80端口,参考一些运维人员的做法,就</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10px; background-color: rgb(255, 255, 255);">是<span style="font-family: Arial; line-height: 26px;">利用firewalld在数据包路由之前进行端口转发,把所有发往80的tcp包转发到8080就可以了。所以需要先使用root用户进行如下操作。</span></span>
一、.配置防火墙,放行8080端口,并且做80端口转发
1.创建tomcat的service文件
vi /etc/firewalld/services/tomcat.xml #新建tomcat的service文件,并且粘贴如下代码
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Tomcat Webserver</short>
<description>HTTPS is a modified HTTP used to serve Web pages when security is important. Examples are sites that require logins like stores or web mail. This option is not required for viewing pages locally or developing Web pages. You need the httpd package installed for this option to be useful.</description>
<port protocol="tcp" port="8080"/>
</service>
#按下ESC键 输入 :wq 保存退出
<pre style="white-space: pre-wrap; word-wrap: break-word; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">2.添加tomcat服务到防火墙规则中,即在命令终端中输入如下命令
firewall-cmd --reload
firewall-cmd --add-service=tomcat
firewall-cmd --permanent --add-service=tomcat
3.转发80端口
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080
这样就相当于监听了8080端口和80端口
二、配置tomcat服务
配置tomcat服务比较简单,解压软件包后,即可使用,但是我们最好做一些配置。tomcat服务也可以配置到系统自动启动,或者基于普通用户手动进行操作。我使用的是目前最新版的tomcat作为例子
1.基于普通用户的配置
cp apache-tomcat-9.0.0.M3.tar.gz /home/chenzl/server/ #复制tomcat安装包到安装目录下
cd /home/chenzl/server/ #切换到安装目录下
tar -zxvf apache-tomcat-9.0.0.M3.tar.gz #解压tomcat安装包
cd apache-tomcat-9.0.0.M3/bin/ #进入到tomcat/bin目录下面
vi setenv.sh #创建setenv.sh文件,并输入如下内容
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
#java home
JAVA_HOME=/home/chenzl/server/jdk1.8.0_74/
JRE_HOME=/home/chenzl/server/jdk1.8.0_74/jre
#最后按下ESC键,输入 :wq 回车,即可保存成功
./startup.sh #启动tomcat服务,输入 ./shutdown.sh 是关闭服务,若输入 ./startup.sh 出现如下信息,则说明启动tomcat服务成功
Using CATALINA_BASE: /home/chenzl/server/apache-tomcat-9.0.0.M3
Using CATALINA_HOME: /home/chenzl/server/apache-tomcat-9.0.0.M3
Using CATALINA_TMPDIR: /home/chenzl/server/apache-tomcat-9.0.0.M3/temp
Using JRE_HOME: /home/chenzl/server/jdk1.8.0_74/jre
Using CLASSPATH: /home/chenzl/server/apache-tomcat-9.0.0.M3/bin/bootstrap.jar:/home/chenzl/server/apache-tomcat-9.0.0.M3/bin/tomcat-juli.jar
Using CATALINA_PID: /home/chenzl/server/apache-tomcat-9.0.0.M3/tomcat.pid
Tomcat started.
2.基于root用户的配置,配置系统自动启动tomcat服务我开发的时候,使用的是tomcat8.0,所以配置到系统中,我就使用这个版本了。
cp apache-tomcat-8.0.30.tar.gz /home/chenzl/server/ #复制tomcat安装包到安装目录下
cd /home/chenzl/server/ #切换到安装目录下
tar -zxvf apache-tomcat-8.0.30.tar.gz #解压tomcat安装包
cd apache-tomcat-8.0.30/bin/ #进入到tomcat/bin目录下面
vi setenv.sh #创建setenv.sh文件,并输入如下内容
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
#java home
JAVA_HOME=/home/chenzl/server/jdk1.8.0_74/
JRE_HOME=/home/chenzl/server/jdk1.8.0_74/jre
#最后按下ESC键,输入 :wq 回车,即可保存成功
su - root #切换到root用户
cd /usr/lib/systemd/system #切换到系统目录下
vi tomcat.service #编辑tomcat服务文件,并输入如下代码
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/home/chenzl/server/apache-tomcat-8.0.30/tomcat.pid
ExecStart=/home/chenzl/server/apache-tomcat-8.0.30/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl enable tomcat #设置开机启动
因为配置pid,在启动的时候会再tomcat根目录生成tomcat.pid文件,停止之后删除。
同时tomcat在启动时候,执行start不会启动两个tomcat,保证始终只有一个tomcat服务在运行。
多个tomcat可以配置在多个目录下,互不影响。
tomcat配置到系统服务后的使用方法
启动tomcatsystemctl start tomcat
停止tomcatsystemctl stop tomcat
重启tomcatsystemctl restart tomcat
systemctl的使用方法查看全部服务命令:
systemctl list-unit-files --type service
查看服务systemctl status name.service
启动服务systemctl start name.service
停止服务systemctl stop name.service
重启服务systemctl restart name.service
增加开机启动
systemctl enable name.service
删除开机启动systemctl disable name.service