• linux安装tomcat部署静态网页


    一、前置条件

       安装tomcat需要先安装jdk,所以没有安装jdk同学,详见参考文章

    二、Linux上安装tomcat

    1. 下载Apache tomcat

        tomcat官网下载地址

        在左边,可以选择下载各种版本的tomcat。根据服务器操作系统选择下载。Linux操作系统就下载tar.gz包。

        我下载的文件名是:apache-tomcat-8.5.37.tar.gz

    2. 检查linux是否安装tomcat 

        输入rpm -qa|grep tomcat 

        查看下系统信息,确认是32位还是64位:uname -a   

    3. 上传服务器、解压缩tomcat

        使用WinSCP或者Xftp等工具将tar.gz压缩包上传到 /usr/local 目录中,以下操作命令都需要在root账户下操作。

        进入目录解压安装包

        进入目录:cd /usr/local

        解压文件:tar -zxvf apache-tomcat-8.5.37.tar.gz  

        将目录apache-tomcat-8.5.37重命名为tomcat,方便一些

        重命名文件:mv apache-tomcat-8.5.37  tomcat8

    4. 配置环境变量

        输入:vim /etc/profile 打开配置文件,按 i 进入编辑模式,在profile文件尾部 unset -f pathmunge 后面添加如下内容:

    复制代码
    unset i
    unset -f pathmunge
    export JAVA_HOME=/usr/local/java/jdk1.8.0_221
    export JRE_HOME=${JAVA_HOME}/jre
    export CATALINA_HOME=/usr/local/tomcat8
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
    export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${CATALINA_HOME}/bin
    export PATH=$PATH:${JAVA_PATH}:$PATH
    复制代码

       编辑完之后,按Esc 并输入  :wq(小写)  保存并退出编辑,然后输入以下指令:source /etc/profile 刷新环境配置使profile文件立即生效    

    5. 正常启动

        运行  /usr/local/tomcat8/bin/startup.sh  就会启动tomcat,在浏览器中访问http://localhost:8080了,能看到如下界面,说明访问成功。

    6. 正常关闭

       运行 /usr/local/tomcat8/bin/shutdown.sh  就会关闭tomcat

    7. 修改tomcat配置

       进入 /usr/local/tomcat8/conf 目录修改server.xml中的tomcat端口

       运行 vim server.xml,用“/8080”定位到8080端口。如下图:  

       可以修改端口,默认8080,然后按ESC键,然后按 :wq(注意有一个英文冒号),保存并退出。

    8. 局域网内无法访问解决办法    

       访问本地:http://localhost:8080/正确。但局域网内无法访问,而且服务器可ping通。

       注意:如果执行 firewall-cmd --zone=public --add-port=3690/tcp --permanent,提示FirewallD is not running错误,则说明防火墙未开启。

       1. 通过 systemctl status firewalld 查看firewalld状态,发现当前是Active: inactive (dead)状态,即防火墙未开启。

       2. 通过  systemctl start firewalld  开启防火墙,没有任何提示即开启成功。

       3. 再次通过 systemctl status firewalld 查看firewalld状态,显示running即已开启了。

       4. 如果要关闭防火墙设置,可能通过 systemctl stop firewalld 这条指令来关闭该功能。 

       先查看防火墙开放端口列表对于Centos7系统 firewall-cmd --zone=public --list-ports

       如果没有8080端口,添加端口

    •  如果是firewalld防火墙 (对于Centos7系统),开启防火墙端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent  并且重新加载防火墙 firewall-cmd --reload
    •  如果是iptables防火墙 ,执行 vi  /etc/sysconfig/iptables 加入下面内容 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

       如上配置并重启iptables就可以在局域网内访问8080端口了

       在不同Linux系统中,操作指令会有细微的差别,Centos6防火墙相关命令: 

    service  iptables  status        查看防火墙状态
    service  iptables  start         开启防火墙
    service  iptables  stop          关闭防火墙
    service  iptables  restart       重启防火墙

      对于Centos7系统来说,只有使用下面的指令,才可以对Linux防火墙进行启停。 

    查看防火墙开放端口列表命令:firewall-cmd --zone=public --list-ports
    开启防火墙8080端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent
    关闭防火墙命令:systemctl stop firewalld.service 禁止防火墙开机启动命令:systemctl disable firewalld.service
    重新加载防火墙命令:firewall-cmd --reload

    9. 其他一些问题 

       启动以后,可以利用命令 ps -ef|grep tomcat 查看tomcat是否正常启动。 

       如果正常启动以后无法访问,可以先不修改8080端口,尝试用8080端口访问。如果可以通过8080端口正常访问,则说明80端口被其他应用占用。 

       或者使用 netstat -an|grep 8080 命令查看是否有程序占用8080端口。

    三、设置tomcat开机自动启动

    1. 在 tomcat/bin 目录下面,增加 setenv.sh 配置,服务启动的时候会调用,同时配置java内存参数。

     输入命令编辑:vim /usr/local/tomcat/bin/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" 

    2. 增加tomcat.service,在/usr/lib/systemd/system目录下增加tomcat.service

    输入命令编辑:vi /usr/lib/systemd/system/tomcat.service

    复制代码
    [Unit]
    Description=Apache Tomcat Web Application Container
    After=syslog.target network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    Environment='JAVA_HOME=/usr/local/java/jdk1.8.0_221/'
    Environment='CATALINA_PID=/usr/local/tomcat/tomcat.pid'
    Environment='CATALINA_HOME=/usr/local/tomcat/'
    Environment='CATALINA_BASE=/usr/local/tomcat/'
    Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
    
    PIDFile=/usr/local/tomcat/tomcat.pid
    ExecStart=/usr/local/tomcat/bin/startup.sh
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    复制代码

    [unit]配置了服务的描述,规定了在network启动之后执行。

    [service]配置了环境变量,JAVA_HOME,服务的pid,服务的启动,停止,重启,内存参数。

    [install]配置了使用用户。

    当需要启动多个tomcat时,复制多个tomcat安装文件在/usr/local/下,如/usr/local/tomcat2,并配置多个tomcat.service 如tomcat2.service,tomcat3.service 在配置中修改对应的路径即可。

    因为配置pid,在启动的时候会在tomcat根目录生成tomcat.pid文件,停止之后删除。

    同时tomcat在启动时候,执行start不会启动两个tomcat,保证始终只有一个tomcat服务在运行。

    多个tomcat可以配置在多个目录下,使用不同的端口,互不影响。

    3. 设置开机自启

    systemctl enable tomcat.service

    4. 启动tomcat

    systemctl start tomcat.service

    5. 在浏览器测试(略)

    6. 上述步骤操作完成后如果还是访问不了tomcat服务,可以尝试重启一下linux服务器,命令:reboot

    systemctl常用命令

    其中.service 可以省略

    查看全部服务命令:

    systemctl list-unit-files --type service

    查看服务

    systemctl status name.service

    增加开机启动

    systemctl enable name.service

    启动服务

    systemctl start name.service

    停止服务

    systemctl stop name.service

    重启服务

    systemctl restart name.service

    删除开机启动

    systemctl disable name.service

    可以部署到github上,可以部署到本地服务器用花生壳做内网穿透

    参考:https://www.cnblogs.com/li150dan/p/12535067.html

  • 相关阅读:
    winform 上传文件 (多种)
    获取Treeview中CheckBox选中项的技巧(winform)
    C#中class与struct的区别
    在SQL Server数据库中批量导入数据的四种方法
    小东西WinForm的等待窗口
    查询及删除重复记录的方法
    一些算法的复习和整理,争取每天一个算法
    POJ 2965 The Pilots Brothers' refrigerator
    HDU 1492 The number of divisors(约数) about Humble Numbers
    HDU 1495 非常可乐
  • 原文地址:https://www.cnblogs.com/StarZhai/p/15630761.html
Copyright © 2020-2023  润新知