CentOS7 systemctl tomcat常用配置
开始配置tomcat
1.环境准备,安装java
在生产环境上,我一般使用oracle java,不使用openjdk,所以先卸载系统自带的openjdk
yum remove java
下载oracle java Linux rpm安装包(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
安装
rpm -ivh jdk-8u92-linux-x64.rpm
java默认的安装目录在/usr/java/jdk1.8.0_92(根据具体的版本目录名不同)
2.下载tomcat
我选择使用清华大学源,速度十分快,这个源还有其他资源,下载软件可以在这里找
将tomcat下载到/opt目录下,并解压
# 下载 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.36/bin/apache-tomcat-8.0.36.tar.gz -P /opt # cd到tomcat包的目录 cd /opt # 解压tomcat包 tar -zxf apache-tomcat-8.0.36.tar.gz # 创建符号链接tomcat8,因为解压出来的包名比较长,为了方便 ln -s apache-tomcat-8.0.36 tomcat8 # 可以选择删除tomcat包 rm -rf apache-tomcat-8.0.36.tar.gz
3.设置环境变量
# cd 到 /et/profile.d目录 cd /etc/profile.d # 创建tomcat8.sh vim tomcat8.sh # 输入以下内容 # java tomcat env export JAVA_HOME=/usr/java/jdk1.8.0_92 export CLASS_PATH=.:$JAVA_HOME/lib export CATALINA_HOME=/opt/tomcat8 export CATALINA_BASE=/opt/tomcat8 export PATH=$PATH:$JAVA_HOME/bin:$CATLINA_HOME:/bin
# 保存tomcat8.sh文件,使用source使环境变量立即生效
source /etc/profile
4.简单介绍systemctl命令的使用
systemctl list-unit-files --type service #查看全部服务命令
systemctl status name.service #查看服务命令
systemctl start name.service #启动服务
systemctl stop name.service #停止服务
systemctl restart name.service #重启服务
systemctl enable name.service #增加开机启动
systemctl disable name.service #删除开机启动
5.配置tomcat的启动参数
# 编辑/opt/tomcat8/bin/setenv.sh,没有的话就新建 vim /opt/tomcat8/bin/setenv.sh # 输入以下配置选项(tomcat有很多配置选项) # 设置tomcat pid CATALINA_PID="$CATALINA_BASE/tomcat.pid" # 设置java参数,提高性能 JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m" # 保存文件 # 修改文件权限变为可执行 chmod a+x /opt/tomcat8/bin/setenv.sh
6.创建tomcat账户来启动tomcat,并修改tomcat文件的属性
getent group tomcat || groupadd -r tomcat getent passwd tomcat || useradd -r -d /opt -s /bin/nologin -g tomcat tomcat chown -R tomcat:tomcat /opt/apache-tomcat-8.0.36
7.配置systemctl来管理tomcat
# 在/usr/lib/systemd/system目录下新建tomcat8.service文件 cd /usr/lib/systemd/system # 创建tomcat8.service文件 vim tomcat8.service # 输入以下内容 [Unit] Description=Apache Tomcat 8 After=syslog.target network.target [Service] Type=forking PIDFile=/opt/tomcat8/tomcat.pid ExecStart=/opt/tomcat8/bin/startup.sh ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true User=tomcat Group=tomcat [Install] WantedBy=multi-user.target
# 保存wq!
8.上面tomcat8.service文件创建完毕后就可以通过systemctl来管理tomcat了
设置tomcat开机启动
systemctl enable tomcat8
启动tomcat
systemctl start tomcat8 # 查看tomcat进程 [root@cc ~]# ps aux | grep tomcat tomcat 16150 0.1 27.0 2626292 275420 ? Sl 14:34 0:36 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=512m -Xms256M -Xmx512M -XX:MaxNewSize=128m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat8 -Dcatalina.home=/opt/tomcat8 -Djava.io.tmpdir=/opt/tomcat8/temp org.apache.catalina.startup.Bootstrap start
9.配置完毕
tomcat启动时会在tomcat的根目录/opt/tomcat8下生成pid文件tomcat.pid,停止后会删除,用systemctl管理tomcat不会出现同时启动多个tomcat,这样可以保证始终只有一个tomcat在运行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)