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

来源:互联网 发布:js canvas clip 编辑:程序博客网 时间:2024/06/14 16:44

<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 --reloadfirewall-cmd --add-service=tomcatfirewall-cmd --permanent --add-service=tomcat

3.转发80端口

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080firewall-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.targetsystemctl 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







0 0