2020年linux安装openjdk,部署tomcat教程,一台服务器部署多个tomcat监听不同端口配置,阿里云服务器安装tomcat

最新安装openjdk和tomcat,都不用配置环境变量了,步骤越来越简单了:

1.查找java相关得列表:yum -y list java*

2.安装jdk:yum -y install java-1.8.0-openjdk*。要几分钟的时间,跟网速有关

3.等到完成之后,检查jdk是否安装成功:java -version

/* 额外步骤,如果想配置java环境变量,一般情况下不用:

执行下面的语句,一般路径都一样,如与本文不一致,步骤2)、3)、4)的路径输入自己查出来的路径:

1)which java

2)ls -l /usr/bin/java

3)ls -l /etc/alternatives/java

4)vi模式(有的是vim)进入到 /etc/profile/ 中,配置环境变量

export JAVA_HOME=/usr/lib/java/java-1.8.0-openjdk-1.8.0.262-0.b10.el7_48.x86_64 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar.:$JAVA_HOME/lib/dt.jar.:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin

配置环境变量前的步骤效果如下图

 

*/

 

4.下载tomcat,https://tomcat.apache.org/,下载自己想要的版本,本文下载使用的是apache-tomcat-8.5.59.tar.gz

5.上传tomcat至自己想放的地方,本文在根目录下建了一个app文件目录,以前tomcat还要配置环境变量,现在也不用了

6.解压:tar -zxvf apache-tomcat-8.5.59.tar.gz

7.修改文件夹名,看你的想法,也可以不改,本文使用tomcat,mv apache-tomcat-8.5.59.tar.gz tomcat

8.进入bin文件夹,执行命令./startup.sh启动,如果启动成功,就可以根据自己的IP地址访问了,如http://ip:8080/,可以看到tomcat的经典页面了,这就 说明程序启动成功了,如下图:

 

如果启动成功了,但是访问不了,请先尝试能否telnet通该端口,是不是防火墙开启了。如果是阿里云,请先设置安全策略,然后放开防火墙对应8080端口的管制。

本文安装的是CentOS 7,开启防火墙参考https://www.cnblogs.com/marso/archive/2018/01/06/8214927.html

9.接下来就部署自己的服务了

方案一:直接把自己的项目放到tomcat/webapps

方案二:独立于tomcat之外,然后在tomcat/conf/server.xml最下面配置路径:

①、打开tomcat下conf/server.xml,在 标签之间输入项目配置信息

<Context path="/WebProject" docBase="/app/WebProject" reloadable="true" />

  path:浏览器访问时的路径名

  docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,也就是编译后的项目路径

  reloadble:设定项目有改动时,tomcat是否重新加载该项目

②、进入bin目录下, ./startup.sh,启动 tomcat 服务器,然后在浏览器输入访问的项目名称路径

注意:如果你配置的 path="/xx",那么访问的时候就是这样:

方案三:新建一个 项目名.xml 文件

①、tomcat/conf/Catalina/localhost 目录(没有本目录自己建一个),新建一个 项目名.xml 文件, 

  ②、在 那个新建的 xml 文件中,增加下面配置语句(和上面的是一样的,但是不需要 path 配置,加上也没什么用)

<Context  docBase="/app/WebProject" reloadable="true"/>

  ③、在浏览器输入路径:ip:8080/xml文件名/访问的文件名

一般选择第三种或者第二种方法。

10.Liunx中Tomcat的shutdown.sh无法杀死全部进程,自己记录一下PID,关闭的时候杀死。使用vi命令编辑文件即可

检查以前的tomcat进程是否被杀死:ps -ef | grep tomcat,

解决办法:修改bin目录下的catalina.sh和shutdown.sh

①、修改catalina.sh文件 添加一个if判断如果取不到PID获取bin目录下的pid,./startup.sh时,会记录PID

# Get standard environment variables
PRGDIR=`dirname "$PRG"`
if [ -z "$CATALINA_PID" ]; then
  CATALINA_PID=$PRGDIR/CATALINA_PID
  cat $CATALINA_PID
fi

②、修改shutdown.sh

#exec "$PRGDIR"/"$EXECUTABLE" stop "$@" 原来基础上加多-force
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"

重启tomcat,再关闭,就能看到效果啦,根据记录的pid去杀死进程。

10.配置自己的端口

不想用8080端口?没问题,修改tomcat/conf/server.xml,找到下面的代码,将其中的8080改成你想要的端口,然后关闭防火墙对其的管制即可

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

11.如果想同一台服务器放多个tomcat,还需要修改tomcat/conf/server.xml中Server栏的port,保证每个tomcat的port不一样,具体改成什么,随意

12.如果是启动的java项目,若需要添加启动参数,在catalina.sh中添加,添加在最前面的注释后面如下:

CATALINA_OPTS="$CATALINA_OPTS -server -Xms512m -Xmx2048m -XX:MaxPermSize=512m -d64 -Dfile.encoding=UTF-8 -Ddefault.client.encoding=UTF-8"

13.tomcat中的catalina.out是会一直积累的,要自己想办法切割,网上有很多方法例如https://blog.csdn.net/woshiji594167/article/details/80923795,还有自己写脚本的。由于只想在本权限目录下进行修改,本文使用linux系统本身就安装好的logrotate来切割,如下,在tomcat下安装了3个tomcat对应三个端口,在tomcat下建立logrotate.conf文件,内容设置如下,然后设置定时任务:59 23 * * * /usr/sbin/logrotate /app/tomcat/logrotate.conf

/app/tomcat/tomcat8081/logs/catalina.out /app/tomcat/tomcat8082/logs/catalina.out /app/tomcat/tomcat8083/logs/catalina.out {
  size 1k
  create 775 app app
  dateext                    # 日志文件切割时添加日期后缀
  missingok                  # 如果没有日志文件也不报错
  notifempty                 # 日志为空时不进行切换,默认为ifempty
  rotate 10
  compress
}

14.logging.properties日志文件的打印

为安全,很多tomcat是不启用manager和host-manager的,对应的日志文件也不想生成,修改tomcat/conf/logging.properties文件,

部分文章说设置的1catalina.org.apache.juli.AsyncFileHandler.level=OFF,日志文件是空的,但是还是生成了,其实只要注释了就不 会继续生成。至于修改tomcat的生成日志,基本在本文件中控制,有一个localhost_access_log.yyyy-MM-dd.txt文件是tomcat/conf/server.xml控制生成的

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值