系统平台:CentOS Linux release 7.4.1708 (Core) ??????内核 ?3.10.0-693.el7.x86_64 ??最小化安装
配置jdk环境
去oracle官网下载 符合项目需求的 组件 Java SE Development Kit 8u162
http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/jdk-8u162-linux-x64.tar.gz
# cd /usr/local/# tar xvf jdk-8u162-linux-x64.tar.gz -C /usr/local/# ln -sv jdk1.8.0_162/ javajdk# vim /etc/profile.d/java.shexport JAVA_HOME=/usr/local/javajdkexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHexport CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib# source /etc/profile.d/java.sh# java -versionjava version "1.8.0_162"
配置tomcat
去官网下载适合的版本
https://tomcat.apache.org/
http://apache.mirrors.pair.com/tomcat/tomcat-9/v9.0.7/bin/apache-tomcat-9.0.7.tar.gz# tar xvf apache-tomcat-9.0.7.tar.gz -C /usr/local/# cd /usr/local/# mv apache-tomcat-9.0.7/ tomcat-9.0.7# ln -sv tomcat-9.0.7/ tomcat
配置tomcat环境变量
# vim /etc/profile.d/tomcat.shexport CATALINA_BASE=/usr/local/tomcatexport PATH=$CATALINA_BASE/bin:$PATH
配置tomcat开机启动
方法一:通过catalina.sh
直接调用$CATALINA_HOME/bin/startup.sh来启动tomcat,调用$CATALINA_HOME/bin/shutdown.sh来关闭tomcat
tomcat 进程是由 root 用户打开并维护的,从安全角度考虑存在缺陷。
# vim /usr/local/tomcat/bin/catalina.sh在第二行写入JAVA_HOME=/usr/local/javajdkCATALINA_BASE=/usr/local/tomcat# echo "/usr/local/tomcat/bin/catalina.sh start" >> /etc/rc.local# chmod +x /etc/rc.local ?> 这一步很重要
方法二:以daemon方式运
以daemon方式运行tomcat可以使tomcat不受终端影响,不会因为退出终端而停止运行。可以让tomcat以普通用户身份运行,可以让tomcat在系统启动时自动运。
Jsvc是专为Java应用程序开发的一个工具包,其目标是把Java应用程序的普通运行转换为以Unix守护进程的方式运行。这样的话,可以很方便地启动/停止应用程序。
在安装tomcat的目录bin/下commons-daemon-native.tar.gz或者http://commons.apache.org/proper/commons-daemon/download_daemon.cgi
# cd /usr/local/tomcat-9.0.7/bin/# tar xvf commons-daemon-native.tar.gz# cd commons-daemon-1.1.0-native-src/unix/# ./configure# make# cp jsvc /usr/local/tomcat/bin/
创建Tomcat用户
# useradd -r -s /sbin/nologin tomcat# chown -R tomcat /usr/local/tomcat/
配置用systemd启动方式的脚本
# vim /usr/lib/systemd/system/tomcat.service[Unit]Description=Apache Tomcat Web Application ContainerAfter=syslog.target network.target[Service]Type=forkingEnvironmentFile=/usr/local/tomcat/conf/tomcat.confExecStart=/usr/local/tomcat/bin/daemon.sh startExecStop=/usr/local/tomcat/bin/daemon.sh stopSuccessExitStatus=143User=tomcatGroup=tomcat[Install]WantedBy=multi-user.target参数配置文件# vim /usr/local/tomcat/conf/tomcat.confJAVA_HOME="/usr/local/javajdk"CATALINA_BASE="/usr/local/tomcat"CATALINA_HOME="/usr/local/tomcat"TOMCAT_USER="tomcat"#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3" ?> 调优使用之后可以使用以下方式管理了# systemctl status tomcat ??????状态# systemctl start tomcat ???????启动# systemctl stop tomcat ????????停止可以看到是以jsvc进行运行# ss -nltp|grep 8080LISTEN ????0 ?????100 ????????:::8080 ???????????????????:::* ??????????????????users:(("jsvc",pid=2953,fd=49))
配置tomcat Web 管理
# cd /usr/local/tomcat/conf/# cp tomcat-users.xml{,.bak}# vim tomcat-users.xml
角色定义
1、Server Status
查看只读服务器状态
2、Manager App
管理app,包括war包服务的启动、停止、reload、undeploy以及配置session的失效时间
需要开启以下角色功能
manager-gui ????允许访问html接口(即URL路径为/manager/html/*)manager-script ?允许访问纯文本接口(即URL路径为/manager/text/*)manager-jmx ????允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)manager-status ?允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)
3、Host Manager
管理和配置Tomcat服务器
需要开启以下角色功能
manager-gui ????允许访问html接口(即URL路径为/manager/html/*)admin-gui ??????允许访问html接口admin-script ???允许访问纯文本接口
###
4大角色5种功能的定义格式如下
<role rolename="admin-gui"/><role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="manager-jmx"/><role rolename="manager-status"/>
添加用户名称和密码格式,并授权访问角色如下
<user username="用户名" password="密码" roles="这里是角色如:admin-gui,manager-gui"/><user username="tomcat" password="123abc" roles="admin-gui,manager-gui"/>
除了密码限制之外,还可以通过添加或来限制远程IP地址或主机对Manager Web应用程序的访问权限,特别是在公网上的主机。参考网址https://tomcat.apache.org/tomcat-9.0-doc/config/valve.html#Remote_Address_Filter
以下2行看需要设置# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml添加允许访问的IP范围,否则只能本机访问<Context antiResourceLocking="false" privileged="true" > ?<Valve className="org.apache.catalina.valves.RemoteAddrValve" ????????allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.10\.\d+" /> ?<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/></Context>
修改tomcat允许上传的文件大小
单位是字节
???<multipart-config> ?????<!-- 50MB max --> ?????<max-file-size>52428800</max-file-size> ?????<max-request-size>52428800</max-request-size> ?????<file-size-threshold>0</file-size-threshold> ???</multipart-config>
以上配置需要重启tomcat服务才能生效
Tomcat 9.0 7 的两种开机启动方式与web页面管理
原文地址:http://blog.51cto.com/191226139/2105246