基于CentOS7开发之路 --- 第三章 :CentOS 7 部署 tomcat 服务

本文介绍如何使用非root用户部署Tomcat并配置防火墙规则,实现80端口的转发,确保服务的安全运行。同时提供了基于普通用户及root用户的详细配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<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配置到系统服务后的使用方法

启动tomcat
systemctl start tomcat
停止tomcat
systemctl stop tomcat
重启tomcat
systemctl 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







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值