Centos服务器上安装tomcat

骤一

  Tomcat是其中一个开源的且免费的java Web服务器,是Apache软件基金会的项目,所以安装Tomcat之前要安装java JDk,请参照Linux JDK安装及配置 (tar.gz版)

步骤二

  下载Tomcat9,将文件移动到apache-tomcat-9.0.0.M1.tar.gz移动到/usr/tomcat/下,并解压:

       tar -xzvf  apache-tomcat-9.0.0.M1.tar.gz

      

 并修改文件名

  mv apache-tomcat-9.0.0.M1 apache-tomcat-9.0.0.M1-80

  再次解压apache-tomcat-9.0.0.M1.tar.gz文件,并修改解压后的文件价名为apache-tomcat-9.0.0.M1-8082,得到 

       

步骤三

  修改端口,分别修改tomcat里面conf/server.xml

       

server.xml文件中有三个端口设置

  <Server port="8005" shutdown="SHUTDOWN"> :关闭时使用

  <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> : 一般应用使用

  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />:为AJP端口,即容器使用,如 APACHE能通过AJP协议访问Tomcat的8009端口

  第一个80的tomcat的三个端口分别修改为:8005/80/8009

  第二个8082的tomcat的三个端口分别修改为:7082/8082/9082

步骤四

  启动tomcat,分别进入tomcat里面的bin目录

  执行: ./startup.sh  -->启动tomcat

  执行: ./shutdown.sh  -->关闭tomcat

  浏览器中输入:http://ip:80  和http://ip:8082(ip指服务器的IP地址),即可访问不同的tomcat

步骤五

  设置tomcat开机启动

  1、找到/etc文件夹下的rc.local文件(有的是在/etc/rc.d文件夹下),在文件的最后添加以下java环境变量和启动tomcat命令:

  export JAVA_HOME=/usr/java/jdk1.8.0_65 

  export JRE_HOME=$JAVA_HOME/jre

  sh /usr/tomcat/apache-tomcat-9.0.0.M1-80/bin/startup.sh(启动命令,可以配置多条)

 

 保存退出  :wq

  2、给rc.local文件添加执行权限

  chmod +x rc.local

如果tomcat启动不了,那么最有可能就是启动时使用的端口被其他应用程序占用了,那么可以通过如下的办法进行排查,例如查看9999端口被哪个应用程序占用了。

  

3.2、关闭Tomcat服务器

  进入tomcat服务器的bin目录,然后执行"./shutdown.sh"命令启动Tomcat服务器,如下图所示:

  

  查看tomcat服务器的Log信息,看看tomcat服务器是否已经正常关闭,进入tomcat服务器下的logs目录,打开catalina.out文件进行查看,如下图所示:

  

四、部署JavaWeb应用到Tomcat服务器

  部署JavaWeb应用到Tomcat服务器就是将开放好的JavaWeb应用打包成war包,然后发布到tomcat服务器的webapps目录下

  

inux下安装Tomcat服务器使用到的命令

5.1、linux查看端口被哪个进程占用

lsof -i:端口号

  例如:

  

5.2、查看Linux服务器的版本

lsb_release -a

  例如:

  

5.3、查看当前iptables(防火墙)规则

  可使用"iptables –L –n"查看当前iptables规则

  例如:

  

5.4、添加指定端口到防火墙中

  iptables -I INPUT -p 协议 --dport 端口号 -j ACCEPT

  例如:

1 iptables -I INPUT -p udp --dport 161 -j ACCEPT
2 iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

本文介绍linux如何查看端口被哪个进程占用的方法:

1、lsof -i:端口号

2、netstat -tunlp|grep 端口号

都可以查看指定端口被哪个进程占用的情况

【步骤一】lsof -i

lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令,如下图

【步骤二】lsof -i:端口号

lsof -i:端口号,用于查看某一端口的占用情况,比如查看22号端口使用情况,lsof -i:22,如下图

【步骤三】netstat -tunlp

netstat -tunlp用于显示tcp,udp的端口和进程等相关情况,如下图

【步骤四】netstat -tunlp|grep 端口号

netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况,如查看22端口的情况,netstat -tunlp|grep 22,如下图

1、在/etc/rc.d/rc.local中加入:

#java environment 
export JAVA_HOME=/usr/java/jdk1.8.0_161
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
/home/tomcat/apache-tomcat-8.5.29/bin/startup.sh

2、更改rc.local的权限

因为如果是centos7的话,默认是系统自动不执行/etc/rc.d/rc.local,需要更改权限

复制代码

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In constrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

翻译:
#这个文件是为了兼容性的问题而添加的。
#
#强烈建议创建自己的systemd服务或udev规则来在开机时运行脚本而不是使用这个文件。
#
#与以前的版本引导时的并行执行相比较,这个脚本将不会在其他所有的服务后执行。
#
#请记住,你必须执行“chmod +x /etc/rc.d/rc.local”来确保确保这个脚本在引导时执行。

复制代码

操作:

3、重启之后查看tomcat运行状态(参考:https://blog.csdn.net/lidew521/article/details/82714469)

    ps -ef|grep java

  此条命令具体含义
    ps:将某个进程显示出来
    -A  显示所有程序。
    -e  此参数的效果和指定"A"参数相同。
    -f  显示UID,PPIP,C与STIME栏位。
    grep命令是查找

复制代码

如果返回类似以下信息说明tomcat没有启动
502 19258  8770   0  7:14下午 ttys000    0:00.01 grep tomcat
如果返回类似以下信息出现,说明tomcat是启动了,第一个是启动该进程的用户,第二个是该进程的id,第三个 是占用CPU的百分比,
第四个是占用内存的百分比
# ps -ef|grep tomcat
root 7010     1   0  7:18下午 ttys000    0:28.01 /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java -Djava.util.logging.config.file=/Applications/apache-tomcat-7.0.62/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/Applications/apache-tomcat-7.0.62/endorsed -classpath /Applications/apache-tomcat-7.0.62/bin/bootstrap.jar:/Applications/apache-tomcat-7.0.62/bin/tomcat-juli.jar -Dcatalina.base=/Applications/apache-tomcat-7.0.62 -Dcatalina.home=/Applications/apache-tomcat-7.0.62 -Djava.io.tmpdir=/Applications/apache-tomcat-7.0.62/temp org.apache.catalina.startup.Bootstrap start
    0 19392 19342   0  7:18下午 ttys000    0:00.00 grep tomcat

  • 编写启动脚本

vi /etc/rc.d/init.d/tomcat 

//需将JAVA_HOME和CAGTALANA_HOME替换成自己的jdk安装目录和tomcat安装目录

#!/bin/bash
#
 
# tomcat startup script for the Tomcat server
 
#
 
# chkconfig: 345 80 20
 
# description: start the tomcat deamon
 
#
 
# Source function library
 
. /etc/rc.d/init.d/functions
  
 
prog=tomcat
 
JAVA_HOME=/usr/java/jdk1.8.0_221
 
export JAVA_HOME
 
CATALANA_HOME=/usr/tomcat8/apache-tomcat-8.5.43
 
export CATALINA_HOME
 
 
 
case "$1" in
 
start)
 
    echo "Starting Tomcat..."
 
#   su - app -s /bin/bash $CATALANA_HOME/bin/startup.sh
 
    $CATALANA_HOME/bin/startup.sh
 
    ;;
 
 
 
stop)
 
    echo "Stopping Tomcat..."
 
#   su - app -s /bin/bash $CATALANA_HOME/bin/shutdown.sh
 
    $CATALANA_HOME/bin/shutdown.sh
 
    ;;
 
 
 
restart)
 
    echo "Stopping Tomcat..."
 
#   su - app -s /bin/bash  $CATALANA_HOME/bin/shutdown.sh
 
    $CATALANA_HOME/bin/shutdown.sh
 
    sleep 2
 
    echo
 
    echo "Starting Tomcat..."
 
    $CATALANA_HOME/bin/startup.sh
 
    ;;
 
 
 
*)
 
    echo "Usage: $prog {start|stop|restart}"
 
    ;;
 
esac
 
exit 0

3. 按ESC退出,并#:wq
4. 设置tomcat的文件属性,把tomcat 修改为可运行的文件,命令参考如下

#chmod a+x tomcat

5. 设置服务运行级别

#chkconfig --add tomcat

6. 服务就添加成功了

然后用 chkconfig --list 查看,在服务列表里就会出现自定义的服务了

# chkconfig --list

7. 测试

service tomcat start

service tomcat stop

service tomcat restart

service tomcat status

发布了57 篇原创文章 · 获赞 19 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/chenlongjs/article/details/98784563
今日推荐