Linux安装Tomcat并发布项目

2022-11-07 13:26:15 浏览数 (1)

目录

1、下载

2、安装

2.1 上传tomcat的安装文件到指定文件夹

2.2 解压

3.启动或关闭tomcat

3.1 启动

3.2 关闭

3.3 防火墙开启端口

4、发布项目

4.1、添加管理员、密码、权限

4.2、允许admin远程访问tomcat

4.3、重启tomcat,使修改生效

4.4、通过admin用户远程发布web项目

5、Centos下设置Tomcat开机自启动

5.1、systemctl命令

5.2 tomcat增加启动参数


1、下载

下载地址: Apache Tomcat® - Welcome!

这里有Tomcat的各种版本,大家选择相应版本号。

点击 Download 后会进去另一个页面,这里可以选择我们想要版本,图中箭头指向的就是我们Linux使用的版本。

2、安装

2.1 上传tomcat的安装文件到指定文件夹

新建文件夹:

代码语言:javascript复制
 mkdir /usr/local/mytools 

进入文件夹后,我们就使用 rz 命令把我们下好的Tomcat上传到文件夹中

注:使用rz前记得把 lrzsz 下载了。 命令如下: yum -y install lrzsz

使用 ls 命令查询一下  

2.2 解压

1.解压tomcat到指定路径

代码语言:javascript复制
tar -zxvf apache-tomcat-8.5.20.tar.gz -C /usr/local

 2.解压完成后进入tomcat的bin目录

代码语言:javascript复制
cd /usr/local/apache-tomcat-8.5.20/bin

3.启动或关闭tomcat

注:一定要先进入tomcat bin目录 启动前一定要提前安装好jdk!!!! (1条消息) Linux中安装jdk_英杰的学习日记-CSDN博客

3.1 启动

代码语言:javascript复制
 ./startup.sh

 注1:如何查看远程服务器的日志 cd /usr/local/apache-tomcat-8.5.20/logs tail -f catalina.out #实时查看日志文件 tail -100f catalina.out #实时查看日志文件后一百行 注2:tomcat启动后,外部浏览器无法访问,原因:防火墙中8080端口未开放, 防火墙的开启详情见:目录3.3

3.2 关闭

代码语言:javascript复制
 ./shutdown.sh

3.3 防火墙开启端口

1.查看防火墙状态

代码语言:javascript复制
 firewall-cmd --state

2.开启防火墙

代码语言:javascript复制
systemctl start firewalld.service

注: 1,设置开机自启: systemctl enable firewalld.service 2, 重启防火墙: systemctl restart firewalld.service 3, 查看防火墙设置开机自启是否成功: systemctl is-enabled firewalld.service;echo $? 4,关闭防火墙: systemctl stop firewalld.service

3.开启端口

代码语言:javascript复制
firewall-cmd --zone=public --add-port=8080/tcp --permanent

注: 1.删除指定端口: firewall-cmd --zone=public --remove-port=8080/tcp --permanent 2.查询指定端口号是否开启: firewall-cmd --query-port=8080/tcp 3.查询有哪些端口是开启的: firewall-cmd --list-port

4.重启防火墙(不重启以上的设置是不会生效的)

代码语言:javascript复制
firewall-cmd --reload

现在你可以去浏览器访问一下你的Tomcat了。

注:如果你使用的是服务器,记得去安全组添加8080端口。 以上步骤完成后,还是无法发布项目的

4、发布项目

4.1、添加管理员、密码、权限

代码语言:javascript复制
cd /usr/local/apache-tomcat-8.5.20/conf
代码语言:javascript复制
vim tomcat-users.xml

然后在<tomcat-users>标签中插入以下内容(即添加管理员、密码、权限)

代码语言:javascript复制
<role rolename="manager-gui"/> 
<user username="admin" password="123" roles="manager-gui"/>

4.2、允许admin远程访问tomcat

代码语言:javascript复制
 cd /usr/local/apache-tomcat-8.5.20/webapps/manager/META-INF
代码语言:javascript复制
vim context.xml 

将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>

将tomcat端口号port="8080"改为80 (了解如何修改tomcat的端口号即可,无需修改) cd /usr/local/java/apache-tomcat-8.5.20/conf vim server.xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />  

4.3、重启tomcat,使修改生效

代码语言:javascript复制
cd /usr/local/apache-tomcat-8.5.20/bin
代码语言:javascript复制
./shutdown.sh
代码语言:javascript复制
 ./startup.sh

4.4、通过admin用户远程发布web项目

将项目导成war包后,浏览器访问你的tomcat,然后点击图中标红的地方。

点击进入后他会让你输入账号密码,就是我们4.1所设置的,我们会进入以下界面,点击图中标红的地方选择导入的war包。  

 我选择了一个hello.war

 点击下图标红的地方就可以访问你刚刚上传的项目了。

但是重启服务器或者虚拟机之后,hello项目无法再次访问。

5、Centos下设置Tomcat开机自启动

5.1、systemctl命令

查看全部服务命令:systemctl list-unit-files --type service(ctrl c可以回到命令输入) 查看服务:systemctl status 服务名.service 启动服务:systemctl start 服务名.service 停止服务:systemctl stop 服务名.service 重启服务:systemctl restart 服务名.service 增加开机启动:systemctl enable 服务名.service 删除开机启动:systemctl disable 服务名.service

5.2 tomcat增加启动参数

1.在tomcat的bin目录下面,增加setenv.sh配置,catalina.sh启动的时候会调用,同时配置Java内存参数

代码语言:javascript复制
vim /usr/local/apache-tomcat-8.5.20/bin/setenv.sh

在setenv.sh增加以下内容:

代码语言:javascript复制
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
JAVA_OPTS="-server -XX:PermSize=128M -XX:MaxPermSize=512m -Xms256M -Xmx512M -XX:MaxNewSize=128m"

 注意:文件的保存路径不要搞错了“tomcat/bin/setenv.sh”

2.在/usr/lib/systemd/system目录下创建tomcat.service文件

注:vim编辑文件,文件不存在就创建此文件,并进行编辑  

代码语言:javascript复制
 vim /usr/lib/systemd/system/tomcat.service
代码语言:javascript复制
###注意:请将jdk和tomcat改为自己的安装路径
###/usr/local/jdk1.8.0_151改为自己的jdk路径
###/usr/local/apache-tomcat-8.5.20改为自己的tomcat路径
###Environment="JAVA_HOME=/usr/local/jdk1.8.0_151"这里要配置环境变量,在/etc/profile中的配置在系统服务中不生效
###[unit]配置了服务的描述,规定了在network启动之后执行。[service]配置服务的pid,服务的启动,停止,重启
###[install]配置了使用用户
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/jdk1.8.0_151"
PIDFile=/usr/local/apache-tomcat-8.5.20/tomcat.pid
ExecStart=/usr/local/apache-tomcat-8.5.20/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

3.重启系统让tomcat.service文件生效(此次tomcat还未自动启动)

代码语言:javascript复制
reboot

4.接下来配置tomcat开机启动

设置tomcat开机启动:

代码语言:javascript复制
systemctl enable tomcat

启动tomcat服务:

代码语言:javascript复制
systemctl start tomcat

查看服务中有没有tomcat:

代码语言:javascript复制
ps -ef |grep tomcat

reboot再次重启系统后,发现tomcat已自动启动了

完毕!

0 人点赞