详解CentOS 7下安装Tomcat到服务
发布时间 - 2026-01-11 01:45:49 点击率:次环境:

- CentOS Linux release 7.3.1611 (Core)
- 3.10.0-514.16.1.el7.x86_64
1.安装Java环境
Jre有ServerJre和Jre的区别。两者具体的区别就是ServerJre启动时默认Jvm是Server模式,且包含了一些监控工具,具体的区别见Oracle的站点。现在普遍存在的一个问题就是大部分JAVA程序是基于JAVA7开发的,但是Oracle早就更新到了Java8,且网站上默认提供的是Jre8的下载。不过,无论你要下载哪个版本的JRE,都可以在这里找到。下载ServerJre之前需要单选 Accept License Agreement 来激活下载链接。这里选择的是server-jre-7u80-linux-x64.tar.gz 。下载完毕,解压到 /usr/local/, 这里需要注意的是,解压后的server-jre-7u80-linux-x64.tar.gz 名字是jdk1.7.0_79,但是我测试过,这个跟真正的JDK文件是有所不同的。解压完毕后,编辑 /etc/profile设置环境变量并验证:
cat >>/etc/profile << "EOF" #set java env JAVA_HOME=/usr/local/jdk1.7.0_80 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH EOF source /etc/profile java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
至此,java环境安装完毕。
2.安装tomcat
直接下载apache-tomcat-7.0.72.tar.gz并解压,将解压后的目录重命名为tomcat7,并移至 /opt 下,然后创建运行环境文件:
vim /opt/tomcat7/bin/setenv.sh
内容与/etc/profile尾部保持一致:
JAVA_HOME=/usr/local/jdk1.7.0_80 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH
至此tomcat安装和设置完成。
3.创建tomcat运行用户并赋权到对应文件。
groupadd tomcat useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat #此处假设为tomcat,如果是生产服务器,建议使用环境部署账号来运行tomcat. cd /opt/tomcat7 chgrp -R tomcat /opt/tomcat chmod -R g+r conf chmod g+x conf chown -R tomcat webapps/ work/ temp/ logs/
至此,相关赋权完成。
4.编辑服务文件
vim /etc/systemd/system/tomcat.service
设置如下,但是你可能需要根据你的内存容量自行调整 CATALINA_OPTS的值,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值,建议堆的最大值设置为可用内存的最大值的80%:
# Systemd unit file for tomcat [Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking Environment=CATALINA_PID=/opt/tomcat7/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat7 Environment=CATALINA_BASE=/opt/tomcat7 Environment='CATALINA_OPTS=-Xms128M -Xmx512M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat7/bin/startup.sh ExecStop=/bin/kill -15 $MAINPID User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
然后重载一下服务单元:
systemctl daemon-reload
至此全部设置完成。
5.测试
systemctl start tomcat [root@localhost ~]# curl -I 127.0.0.1:8080 HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=ISO-8859-1 Transfer-Encoding: chunked Date: Tue, 06 Jun 2017 02:27:16 GMT systemctl stop tomcat curl -I 127.0.0.1:8080 curl: (7) Failed connect to 127.0.0.1:8080; Connection refused
完成。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
如何批量查询域名的建站时间记录?
米侠浏览器网页背景异常怎么办 米侠显示修复
Android okhttputils现在进度显示实例代码
网站制作壁纸教程视频,电脑壁纸网站?
WordPress 子目录安装中正确处理脚本路径的完整指南
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
如何快速搭建个人网站并优化SEO?
高端企业智能建站程序:SEO优化与响应式模板定制开发
Python结构化数据采集_字段抽取解析【教程】
如何用PHP工具快速搭建高效网站?
韩国服务器如何优化跨境访问实现高效连接?
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
三星、SK海力士获美批准:可向中国出口芯片制造设备
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
再谈Python中的字符串与字符编码(推荐)
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
海南网站制作公司有哪些,海口网是哪家的?
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何挑选高效建站主机与优质域名?
Java遍历集合的三种方式
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
如何在Tomcat中配置并部署网站项目?
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
如何在IIS服务器上快速部署高效网站?
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
北京网站制作的公司有哪些,北京白云观官方网站?
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何在万网自助建站平台快速创建网站?
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
JavaScript如何实现类型判断_typeof和instanceof有什么区别
Swift中循环语句中的转移语句 break 和 continue
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
Laravel如何实现API资源集合?(Resource Collection教程)
如何为不同团队 ID 动态生成多个“认领值班”按钮
5种Android数据存储方式汇总
EditPlus中的正则表达式 实战(2)

