tomcat环境配置

2018/05/17

摘要

配置tomcat作为web服务器

下载

wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.0.51/bin/apache-tomcat-8.0.51.tar.gz
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz
wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.7/bin/apache-tomcat-9.0.7.tar.gz

环境配置

echo >> /etc/profile
echo '\# TOMCAT' >> /etc/profile
echo 'export CATALINA_BASE=/opt/tomcat' >> /etc/profile
echo 'export CATALINA_HOME=/opt/tomcat' >> /etc/profile
echo 'export CATALINA_TMPDIR=/opt/tomcat/temp' >> /etc/profile

配置防火墙

关闭防火墙可减小内存/增加规则可保证安全

创建用户还没测试

创建tomcat运行用户并赋权到对应文件

:1024以内的端口都要root

groupadd tomcat
useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat #此处假设为tomcat,如果是生产服务器,建议使用环境部署账号来运行tomcat.
cd /opt/tomcat
chown -R tomcat:tomcat /opt/tomcat *
chmod -R g+r conf
chmod g+x conf
chown -R tomcat:tomcat webapps/ work/ temp/ logs/

启动/停止

catalina.sh start 或 startup.sh # 启动tomcat
catalina.sh stop 或 shutdown.sh # 停止tomcat

修改内存分配

vim /opt/tomcat/bin/catalina.sh
  CATALINA_HOME=/opt/tomcat
  CATALINA_BASE=$CATALINA_HOME
  CATALINA_OPTS="-Xms512M -Xmx768M -server -XX:+UseParallelGC"
  CATALINA_TMPDIR=$CATALINA_HOME/temp
  JAVA_HOME=/opt/jdk
  JRE_HOME=/opt/jdk/jre
  JAVA_OPTS="-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
  CATALINA_PID=$CATALINA_HOME/temp/tomcat.pid

配置服务和自启动

centos 6.x 配置 还没有测试

vim /etc/init.d/tomcat # 配置服务
  #!/bin/bash
  # description: Tomcat Start Stop Restart
  # processname: tomcat
  # chkconfig: 234 20 80

  CATALINA_HOME=/opt/tomcat

  case $1 in
    start)
      sh $CATALINA_HOME/bin/startup.sh
      ;;
    stop)
      sh $CATALINA_HOME/bin/shutdown.sh
      ;;
    restart)
      sh $CATALINA_HOME/bin/shutdown.sh
      sh $CATALINA_HOME/bin/startup.sh
      ;;
    *)
      echo 'please use : tomcat {start | stop | restart}'
    ;;
  esac
  exit 0

执行脚本,启动、停止 和 重启服务。

service tomcat start # 启动
service tomcat stop # 停止
service tomcat restart # 重启

配置开机自启动

向chkconfig添加 tomcat 服务的管理

  chkconfig --add tomcat

设置tomcat服务自启动

  chkconfig tomcat on

查看tomcat的启动状态

chkconfig --list | grep tomcat

关闭tomcat服务自启动

chkconfig tomcat off

删除tomcat服务在chkconfig上的管理

chkconfig --del tomcat

centos 7.x 配置

vim /etc/systemd/system/tomcat.service
  # Systemd unit file for tomcat
  [Unit]
  Description=Apache Tomcat Web Application Container
  After=syslog.target network.target remote-fs.target nss-lookup.target

  [Service]
  Type=forking

  ExecStart=/opt/tomcat/bin/startup.sh
  ExecReload=/bin/kill -s HUP $MAINPID
  ExecStop=/bin/kill -s QUIT $MAINPID
  PrivateTmp=true

  # User=tomcat
  # Group=tomcat
  # UMask=0007
  # RestartSec=10
  # Restart=always

  [Install]
  WantedBy=multi-user.target
  ##[unit]配置了服务的描述,规定了在network启动之后执行,
  ##[service]配置服务的pid,服务的启动,停止,重启
  ##[install]配置了使用用户

然后重载一下服务单元:

systemctl daemon-reload

执行脚本,启动、停止 和 重启服务。

systemctl enable tomcat.service # 配置开机启动
systemctl disable tomcat.service # 删除开机启动
systemctl start tomcat # 启动
systemctl stop tomcat # 停止
systemctl restart tomcat # 重启

目录