2021-03-15Linux系统下安装tomcat

转载,侵删:https://www.cnblogs.com/li150dan/p/12535067.html

一、前置条件

   安装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通

   先查看防火墙开放端口列表对于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

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值