1、安装 Java
这里使用Ubuntu22.04 其他版本也差不多
tomcat是基于Java开发的,安装前需确保已经按照了jdk
apt update
apt install openjdk-8-jdk
验证是否按照成功
java -version
环境变量
2、安装 Tomcat
下载链接
Tomcat: Apache Tomcat® - Apache Tomcat 8 Software Downloads
然后再终端输入:
但在这之前我们先在/usr/local
建一个文件夹
cd /usr/local
mkdir tomcat
cd tomcat
复制这个链接
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.84/bin/apache-tomcat-8.5.84.tar.gz
wget 后面是刚刚复制的链接
就开始下载了虽然有亿点点慢
我当然不会告诉你, 我是在Windows上下好了用MobaXterm传上去的
ll
解压Tomcat
下载完了就该解压了
但在这之前我们先在/usr/local
建一个文件夹
tar -zxvf apache-tomcat-8.5.84.tar.gz
ll
启动Tomcat服务器
./apache-tomcat-8.5.84/bin/startup.sh
如果不能执行, 就修改下权限
chmod -R 755 ./apache-tomcat-8.5.75
如果没报错那就是成功了
验证安装
这时候我们就可以打开浏览器访问一下
在浏览器地址栏
而不是搜索框输入ip:8080
如果你在本机上布置的Tomcat那就是
localhost:8080
不出意外的话你将会看到
如果没看到,欢迎给我留言或者在评论区讨论🤪
右上方有三颗按钮如果你点一下的话,可能会看到:
What? Access Denied
这是因为我们还没有修改配置文件, 这时候服务器还不认识他的主人
3、配置Tomcat帐号密码权限
修改tomcat下的配置文件 tomcat-users.xml
vim /usr/local/tomcat/apache-tomcat-8.5.84/conf/tomcat-users.xml
在末尾添加:
<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="admin-script"/>
<user username="tomcat" password="mypasswd" roles="tomcat,manager-gui,admin-gui,admin-script,manager-script"/>
其中:username="tomcat" password="mypasswd"
是你自定义的
重启一下 tomcat,再去访问应该就可以了, 如果不可以, 欢迎评论区讨论😉
./usr/local/tomcat/apache-tomcat-8.5.84/bin/shutdown.sh
./usr/local/tomcat/apache-tomcat-8.5.84/bin/startup.sh
但这样服务器重启了Tomcat 并不会跟着启动
4、配置Tomcat开机自启动
复制你bin下的catalina.sh文件到/etc/init.d目录下,ubuntu命令如下
cp /usr/local/tomcat/apache-tomcat-8.5.84/bin/catalina.sh /etc/init.d/
将你复制好的catalina.sh重命名
cd /etc/init.d/
mv catalina.sh tomcat
更改你复制的catalina.sh(重命名后是tomcat)
vim /etc/init.d/tomcat
这时候就需要知道JDK装在哪儿了
vim /etc/profile
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.84
JAVA_HOME=/usr/local/jdk/jdk1.8.0_351
如果你的JDK装在其他位置(手动安装的), 就写你安装的位置
在 第一行 #!/bin/sh下面贴上如下代码,如果不贴将会报找不到LBS错误
### BEGIN INIT INFO
# Provides: tangquanwei.top
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: tomcat service
# Description: tomcat service daemon
### END INIT INFO
将tomcat加入自启动项
update-rc.d -f tomcat defaults
重启的服务器,再输入项目网址测试, 能打开就可以了不能的话,评论区
再然后就是最最重要的:
5、部署web项目
修改tomcat fonf目录下的server.xml
vim /usr/local/tomcat/apache-tomcat-8.5.84/conf/server.xml
在Engine节点内新添加 Host节点
<Host name="hello.top">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="hello.top_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="/root/workingItem/top.hello" />
</Host>
不同版本的tomcat配置可能稍有不同,可以参考下上面默认配置的
注意别把默认配置的删了,新添加一个节点就行
下面是默认配置
这里还有一个要注意的里面hello.top是我注册的域名, 你需要自行注册域名, 并做相应的ip映射
如果仅是本地测试, 可以修改本机的host文件, 添加记录:你的ip 域名 (比如 192.168.28.132 mycom.com) ,将mycom.com的访问映射到192.168.28.132这台服务器中
如果你不知道你的ip的话, 在控制台输入
ip addr
下面划红圈的就是你的ip
现在就可以使用域名+端口访问网站了
比如上面192.168.28.132mycom.com,在地址栏输入
mycom.com:8080
就可以访问服务器上docBase=/root/workingItem/top.hello
这个文件夹,如果文件夹里面没有东西也是会出错的, 但没有关系, 把文件放进去就好了
比如
在top.hello/ 这个目录里面
mkdir -p ./root/workingItem/top.hello
cd /root/workingItem/top.hello
touch index.html
echo 'Hola Tomcat' >> index.html
再访问就可以看见了
mytomcat.com:8080
修改端口
因为tomcat默认端口是8080而http的默认端口是80端口
为了避免访问的时候再输端口, 我们把tomcat的端口号改成80
还是在刚刚那个文件找到Connector节点把里面port改成80就可以了
vim /usr/local/tomcat/apache-tomcat-8.5.84/conf/server.xml