zoukankan      html  css  js  c++  java
  • CentOS 7.4 上如何安装 tomcat 9

    本文将详细讲解在 CentOS 7.4 系统上如何安装tomcat 9,tomcat是没有32位和64位之分的。

    创建tomcat的安装路径

    首先在/usr/local/下建立一个tomcat的文件夹

    [root@VM_0_9_centos ~]# cd /usr/local
    [root@VM_0_9_centos local]# mkdir tomcat9
    [root@VM_0_9_centos local]# cd tomcat9/
    [root@VM_0_9_centos tomcat9]# ls
    apache-tomcat-9.0.7.tar.gz
    [root@VM_0_9_centos tomcat9]#
    

    然后解压缩

    [root@VM_0_9_centos tomcat9]# tar -zxvf apache-tomcat-9.0.7.tar.gz 
    

    如何查看端口号

    在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询。

    netstat命令各个参数说明如下:   -t : 指明显示TCP端口   -u : 指明显示UDP端口   -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)   -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。   -n : 不进行DNS轮询,显示IP(可以加速操作) 即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况。   netstat -ntlp //查看当前所有tcp端口∙   netstat -ntulp | grep 80 //查看所有80端口使用情况∙   netstat -an | grep 3306 //查看所有3306端口使用情况∙

    修改tomcat的端口号

    一般我会把原来的tomcat的8080端口改掉,进入tomcat的conf目录下,编辑server.xml文件.
    端口我改成了8888,并添加了一个URIEncoding="UTF-8",修改了server.xml必须重启tomcat.
    进入到conf修改server.xml来修改tomcat的端口号.

    [root@VM_0_9_centos conf]# vim server.xml 
    

    设置Linux的防火墙

    之前我已讲过,因为Linux的防火墙默认只对外开放了一个22的端口,其他的端口都没打开。所以你需要把它的防火墙设
    置一下,让它对tomcat的8888端口号放行。
    使用 cd ~ 命令切换到当前用户主目录(即root),然后使用如下命令来设置Linux的防火墙,使其对tomcat的8080端口号放
    行。

    **Centos7.4开启端口方法 **
    例如:开放80端口方法如下:

    • 添加
    # firewall-cmd --zone=public --add-port=80/tcp --permanent  (--permanent永久生效,没有此参数重启后失效)
    
    • 重新载入
    # firewall-cmd --reload
    
    • 查看
    # firewall-cmd --zone=public --query-port=80/tcp
    
    • 删除
    # firewall-cmd --zone=public --remove-port=80/tcp --permanent
    
    [root@VM_0_9_centos conf]# cd /
    [root@VM_0_9_centos /]# firewall-cmd --zone=public --add-port=8888/tcp --permanent 
    success
    [root@VM_0_9_centos /]# firewall-cmd --reload 
    success
    [root@VM_0_9_centos /]# firewall-cmd --zone=public --list-ports
    8088/tcp 8080/tcp 80/tcp 8888/tcp
    [root@VM_0_9_centos /]# firewall-cmd --zone=public --query-port=80/tcp
    yes
    

    启动tomcat

    [root@VM_0_9_centos /]# cd /usr/local/tomcat9/apache-tomcat-9.0.7/bin/
    [root@VM_0_9_centos bin]# ./startup.sh 
    Using CATALINA_BASE:   /usr/local/tomcat9/apache-tomcat-9.0.7
    Using CATALINA_HOME:   /usr/local/tomcat9/apache-tomcat-9.0.7
    Using CATALINA_TMPDIR: /usr/local/tomcat9/apache-tomcat-9.0.7/temp
    Using JRE_HOME:        /usr/java/jdk-10.0.2/
    Using CLASSPATH:       /usr/local/tomcat9/apache-tomcat-9.0.7/bin/bootstrap.jar:/usr/local/tomcat9/
    					  apache-tomcat-9.0.7/bin/tomcat-juli.jar
    Tomcat started.
    

    测试tomcat

    CentOS 7 使用、打开、关闭、防火墙与端口

    systemctl是CentOS7的服务管理工具中主要的工具,它融合之前servicechkconfig的功能于一体。

    • 启动一个服务:systemctl start firewalld.service
    • 关闭一个服务:systemctl stop firewalld.service
    • 重启一个服务:systemctl restart firewalld.service
    • 显示一个服务的状态:systemctl status firewalld.service
    • 在开机时启用一个服务:systemctl enable firewalld.service
    • 在开机时禁用一个服务:systemctl disable firewalld.service
    • 查看服务是否开机启动:systemctl is-enabled firewalld.service
    • 查看已启动的服务列表:systemctl list-unit-files|grep enabled
    • 查看启动失败的服务列表:systemctl --failed

    配置firewalld-cmd

    • 查看版本: firewall-cmd --version
    • 查看帮助: firewall-cmd --help
    • 显示状态: firewall-cmd --state
    • 查看所有打开的端口: firewall-cmd --zone=public --list-ports
    • 更新防火墙规则: firewall-cmd --reload
    • 查看区域信息: firewall-cmd --get-active-zones
    • 查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
    • 拒绝所有包:firewall-cmd --panic-on
    • 取消拒绝状态: firewall-cmd --panic-off
    • 查看是否拒绝: firewall-cmd --query-panic

    那怎么开启一个端口呢

    • 添加
      firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
    • 重新载入
      firewall-cmd --reload
    • 查看
      firewall-cmd --zone=public --query-port=80/tcp
    • 删除
      firewall-cmd --zone=public --remove-port=80/tcp --permanent

    在 CentOS 7 中设置 Tomcat 开机自启动

    假设Tomcat的安装路径为/usr/local/tomcat9/apache-tomcat-9.0.7

    1、为 tomcat 添加启动参数

    catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量,因此在/usr/local/tomcat9/apache-tomcat-9.0.7/bin路径下创建setenv.sh文件,内容如下:

    # 在tomcat目录下面的bin目录下面创建setenv.sh文件,
    # 因为catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量。
    export CATALINA_HOME=/usr/local/tomcat9/apache-tomcat-9.0.7
    export CATALINA_BASE=/usr/local/tomcat9/apache-tomcat-9.0.7
    #add tomcat pid
    CATALINA_PID="$CATALINA_BASE/temp/tomcat.pid" 
    #add java opts
    JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
    

    2、编写 tomcat.service 文件

    /usr/lib/systemd/system路径下添加tomcat.service文件,内容如下:

    # 在/usr/lib/systemd/system路径下添加tomcat.service文件,内容如下:
    [Unit]
    Description=Tomcat
    After=syslog.target network.target remote-fs.target nss-lookup.target
     
    [Service]
    Type=forking
    Environment="JAVA_HOME=/usr/java/jdk-10.0.2/"
    PIDFile=/usr/local/tomcat9/apache-tomcat-9.0.7/temp/tomcat.pid
    ExecStart=/usr/local/tomcat9/apache-tomcat-9.0.7/bin/startup.sh
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
     
    [Install]
    WantedBy=multi-user.target
    

    3、将 tomcat 加入服务管理

    • 设置权限
    chmod 754 tomcat.service 
    
    • 启动关闭服务,设置开机启动
    # 开机启动 
    systemctl enable tomcat.service
    # 禁止开机启动
    systemctl disable tomcat.service
    # 启动服务
    systemctl start tomcat.service
    # 关闭服务
    systemctl stop tomcat.service
    # 重新启动
    systemctl restart tomcat.service
    

    参考资料:

  • 相关阅读:
    shell 自动map和unmap 应用实例url域名【升级版】
    shell 自动map和unmap 应用实例url域名【初级版】
    cloudfoundry容器实例内部测试redis连通性
    Tsunami 跨机房大数据迁移【ubuntu】
    BOS项目05——Action层抽取重复代码(接受page,rows参数,封装到pageUtils对象中;对象转Json),批量添加数据的流程,批量删除流程(主要看前端部分),easyUI选项框(发送ajax请求从region中获取数据),JsonLib转码的原理(get方法),分页查询重复调用问题
    idea与Pycharm破解(Maven+Ubuntu:http://www.cnblogs.com/LexMoon/p/JavaMavenUbuntu.html)
    BOS项目
    前端——EasyUI基本使用
    Mavent——学Java不会Maven,怎么行archetypeCatalog=internal
    SpringMVC——高级参数绑定(数组、集合),@RequestMapper 的使用,Controller方法的三种返回值类型,异常处理器,上传图片,JSON数据交互,配置拦截器
  • 原文地址:https://www.cnblogs.com/hgnulb/p/9562867.html
Copyright © 2011-2022 走看看