CentOS7 下载安装Tomcat 9的教程详解
tomcat 不多解释,直接开车;
1、官网下载安装包
将tomcat 安装到 /usr/local/tomcat/ 目录下
cd /usr/local/ mkdir tomcat/ cd tomcat/ wget http://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M18/bin/apache-tomcat-9.0.0.M18.tar.gz
2.解压 ,执行以下命令
tar -zxvf apache-tomcat-9.0.0.M18.tar.gz
3.重命名目录
mv apache-tomcat-9.0.0.M18 tomcat_8080 (/path(目标路径))
4.配置自启动,切换至Tomcat的bin目录执行vi setenv.sh,并按i进入编辑模式,拷贝以下代码粘贴
#add tomcat pid CATALINA_PID="$CATALINA_BASE/tomcat.pid" #add java opts JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
之后按esc键,在按shift+:(左下角出现会出现“:”),然后输入wq保存退出,
最后执行 chmod +x setenv.sh
确保文件setenv.sh可执行。
5.配置service 执行cd /usr/lib/systemd/system切换至目录 并执行vi tomcat.service(也可以直接vi /usr/lib/systemd/system/tomcat.service),
拷贝以下代码粘贴(注意将第6和7行的Tomcat路径/usr/local/apache-tomcat-9.0.0.M18 换成你自己的Tomcat的绝对路径)
[Unit] Description=Tomcat After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/usr/local/tomcat/tomcat_8080/tomcat.pid #设置成自己的路径 ExecStart=/usr/local/tomcat/tomcat_8080/bin/startup.sh #设置成自己的路径 ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
开机至开机启动
//配置开机启动 systemctl enable tomcat //启动tomcatsystemctl start tomcat //停止tomcatsystemctl stop tomcat //重启tomcatsystemctl restart tomcat
配置完成,建议重启服务器,即输入命令 reboot(或者sudo reboot)即可在浏览器里输入你的服务器地址+8080端口
(例如:192.168.1.161:8080),如果看到小猫咪表示成功,否则请检查以上所有步骤是否全都执行正确了。
配置环境变量
vi /etc/profile
增加
export CATALINA_HOME=/usr/local/tomcat/tomcat_8080 export PATH=$TOMCAT_HOME/bin:$PATH
如果不能访问,可能是因为防火墙
systemctl stop firewalld.service 关闭防火墙 cd /usr/local/tomcat/tomcat_8080/bin 进入tomcat根目录 ./startup.sh 开启tomcat
6.修改端口,切换至Tomcat conf目录
cd /usr/local/tomcat/tomcat_8080/conf //输入指令打开文件 vi server.xml //输入 /8080 并回车搜索8080 字符串,找到如下两处地方 <<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- A "Connector" using the shared thread pool--> <!-- <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> //按“i”进入编辑模式,将port="8080"改成port="80" <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- A "Connector" using the shared thread pool--> <!-- <Connector executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
之后按esc键,在按shift+:(左下角出现会出现“:”),然后输入wq保存退出。
7.配置gui-manager项目部署方式,切换至Tomcat conf目录,输入vi tomcat-users.xml
打开文件,按“i”进入编辑模式,拷贝以下代码放置</tomcat-users>
标签之间(注意将password和username换成你自己的)
<role rolename="manager"/> <role rolename="admin"/> <role rolename="admin-gui"/> <role rolename="manager-gui"/> <user username="xxx" password="***" roles="admin-gui,manager-gui"/>
之后按esc键,在按shift+:(左下角出现会出现“:”),然后输入wq保存退出。
输入 cd webapps/manager/META-INF/ 切换至目录,输入vi context.xml打开文件,按i进入编辑模式,将</Context> 标签下的<Valve> 标签注释掉
<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" /> --> </Context>
之后按esc键,在按shift+:(左下角出现会出现“:”),然后输入wq保存退出。
8.重启Tomcat
systemctl restart tomcat
浏览器中直接输入你的服务器地址,例如192.168.1.161(不用输端口号了),看见小猫咪,点击manager 输入账号密码即可部署你的项目了。
总结
以上所述是小编给大家介绍的CentOS7 下载安装Tomcat 9的教程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- 第七章:Shiro的Session管理——深入浅出学Shiro细粒度权限开发框架
- 《深入理解Java虚拟机》(六)堆内存使用分析,垃圾收集器 GC 日志解读
- Knockout.js是什么?
- 简单方法检测远端用户的反病毒软件
- 使用 JS 构建跨平台的原生应用(一):React Native for Android 初探
- 基于Metronic的Bootstrap开发框架经验总结(9)--实现Web页面内容的打印预览和保存操作
- 在Windows上安装Jekyll
- 如何解决ajax跨域问题
- 基础篇章:React Native之 Image 的讲解
- 防守式编程的艺术
- Git 简单命令,木有高深内容
- 基础篇章:React Native之 ScrollView 的讲解
- 常用 Git 命令清单
- 如何将配置spring文件指定名字,指定位置
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Git全方位指南,即用即查就可
- Python入门教程笔记(二)控制语句
- Python入门教程笔记(一)简介、变量及基本数据类型
- C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别
- typescript高级用法之infer的理解与使用
- 基于业务场景下的图片/文件上传方案总结
- LeetCode96|二叉搜索树中的搜索
- LeetCode95|字符串中的第一个唯一字符
- LeetCode94|Pow(x,n)
- LeetCode93|数值的整数次方
- LeetCode92|排序数组
- 缓存 | 从本地缓存到分布式缓存, Guava, Caffeine, Memcached, Redis
- WebView三问—B站真题
- C++核心准则T.140:为所有可能重用的操作命名
- Service三问