Linux定制篇-Tomcat的安装和配置
目录
- 传送门
- 前言
- 一、Tomcat的安装和配置概念
- 二、Tomcat的安装和配置实战
- Tomcat 的安装和配置
- 一、Tomcat 安装
- 1. **安装前的准备工作**
- 2. **下载 Tomcat**
- 3. **安装 Tomcat(Linux 系统)**
- 4. **安装 Tomcat(Windows 系统)**
- 二、启动 Tomcat
- 1. **启动 Tomcat(Linux 系统)**
- 2. **启动 Tomcat(Windows 系统)**
- 三、Tomcat 配置
- 1. **配置服务器端口**
- 2. **配置管理用户(默认情况下,Tomcat 不允许远程管理)**
- 3. **配置连接池**
- 4. **配置防火墙(Linux 系统)**
- 四、停止 Tomcat
- 1. **停止 Tomcat(Linux 系统)**
- 2. **停止 Tomcat(Windows 系统)**
- 五、常见问题
- 三、铁哥服务器实战
传送门
SpringMVC的源码解析(精品)
Spring6的源码解析(精品)
SpringBoot3框架(精品)
MyBatis框架(精品)
MyBatis-Plus
SpringDataJPA
SpringCloudNetflix
SpringCloudAlibaba(精品)
Shiro
SpringSecurity
java的LOG日志框架
Activiti(敬请期待)
JDK8新特性
JDK9新特性
JDK10新特性
JDK11新特性
JDK12新特性
JDK13新特性
JDK14新特性
JDK15新特性
JDK16新特性
JDK17新特性
JDK18新特性
JDK19新特性
JDK20新特性
JDK21新特性
其他技术文章传送门入口
前言
不懂点Linux,都不好意思和别人说自己是开发,所以一些基础的必须掌握,同样的也是面试高频。
以下文章不定时更新…
Linux基础篇
Linux实操篇
Linux定制篇
Linux安装JDK17(精品)
Linux安装MySQL(精品)
Linux安装Nginx(精品)
Linux安装Maven(精品)
运行一个jar包(精品)
java -jar提示jar中没有主清单属性(no main manifest attribute)(精品)
Jenkins安装启动(JDK8/11/17)(精品)
Jenkins配置(插件/角色/凭证)(精品)
Jenkins的jdk和maven配置(精品)
Jenkins三种构建类型(精品)
一、Tomcat的安装和配置概念
启动
防火墙要放行8080 才能外网访问到
二、Tomcat的安装和配置实战
Tomcat 的安装和配置
Apache Tomcat 是一个开源的 Java Servlet 容器 和 Web 服务器,用于运行 Java Web 应用程序,特别是 Java Servlets 和 JSP(JavaServer Pages)。下面将介绍在 Linux 和 Windows 上安装 Tomcat,并进行基础配置的步骤。
一、Tomcat 安装
1. 安装前的准备工作
在安装之前,确保系统中已经安装了 JDK(Java Development Kit),Tomcat 需要 JDK 来运行。
-
检查 JDK 是否安装:
java -version
如果没有安装 JDK,请先安装它。以 Ubuntu 为例,可以使用以下命令安装 JDK:
sudo apt update sudo apt install openjdk-11-jdk
-
检查 JAVA_HOME 环境变量:
echo $JAVA_HOME
如果没有设置,应该设置
JAVA_HOME
环境变量。
2. 下载 Tomcat
Tomcat 官方网站提供了不同版本的安装包。可以从 Tomcat 官网 下载最新的稳定版本。一般我们下载的是 tar.gz 格式的压缩包。
-
下载 Tomcat:
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.62/bin/apache-tomcat-9.0.62.tar.gz
根据你下载的版本,调整 URL 地址。
3. 安装 Tomcat(Linux 系统)
-
解压 Tomcat 安装包:
将下载的压缩包解压到指定目录:tar -zxvf apache-tomcat-9.0.62.tar.gz -C /opt/
解压后,Tomcat 将位于
/opt/apache-tomcat-9.0.62
目录下。 -
配置环境变量(可选)
可以将 Tomcat 的安装路径添加到环境变量CATALINA_HOME
中,方便日后的管理。编辑.bashrc
文件:nano ~/.bashrc
在文件末尾添加:
export CATALINA_HOME=/opt/apache-tomcat-9.0.62
然后执行以下命令来使改动生效:
source ~/.bashrc
4. 安装 Tomcat(Windows 系统)
-
下载 Windows 版本的 Tomcat 安装包(
.zip
格式)。 -
解压到指定目录,例如
C:\Tomcat
。
二、启动 Tomcat
1. 启动 Tomcat(Linux 系统)
进入 Tomcat 的 bin
目录,然后执行启动脚本:
cd /opt/apache-tomcat-9.0.62/bin
./startup.sh
如果一切正常,Tomcat 将启动并监听端口 8080。
检查是否启动成功:
- 打开浏览器,输入
http://localhost:8080
,你应该能够看到 Tomcat 的欢迎页面。
2. 启动 Tomcat(Windows 系统)
在 C:\Tomcat\bin
目录中,双击 startup.bat
文件,Tomcat 将启动。
三、Tomcat 配置
1. 配置服务器端口
默认情况下,Tomcat 使用端口 8080 来提供 Web 服务。如果你需要修改 Tomcat 的监听端口,可以编辑 conf/server.xml
配置文件。
-
修改端口:
打开server.xml
文件:nano /opt/apache-tomcat-9.0.62/conf/server.xml
找到以下行:
<Connector port="8080" protocol="HTTP/1.1" ... />
将端口号
8080
改为你想要的端口(例如8081
):<Connector port="8081" protocol="HTTP/1.1" ... />
保存并退出。
2. 配置管理用户(默认情况下,Tomcat 不允许远程管理)
Tomcat 的默认配置不允许远程访问管理界面(例如 Manager App 和 Host Manager)。要启用这些功能,你需要为管理界面配置用户权限。
-
打开
conf/tomcat-users.xml
配置文件:nano /opt/apache-tomcat-9.0.62/conf/tomcat-users.xml
-
添加以下内容(在
</tomcat-users>
标签前):<role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="admin" password="password" roles="manager-gui,admin-gui"/>
这将为 Tomcat 管理控制台添加一个管理员用户(用户名为
admin
,密码为password
)。你可以根据需要更改用户名和密码。 -
保存并关闭文件。
3. 配置连接池
Tomcat 默认没有启用数据库连接池,但你可以在 conf/context.xml
文件中启用它。
-
打开
conf/context.xml
文件:nano /opt/apache-tomcat-9.0.62/conf/context.xml
-
在
<Context>
标签内添加以下连接池配置(以 MySQL 为例):<Resource name="jdbc/MyDB" auth="Container"type="javax.sql.DataSource" maxTotal="20" maxIdle="10" maxWaitMillis="-1"username="dbuser" password="dbpassword" driverClassName="com.mysql.cj.jdbc.Driver"url="jdbc:mysql://localhost:3306/mydatabase"/>
-
保存并退出。
4. 配置防火墙(Linux 系统)
如果你的服务器启用了防火墙(如 ufw
),你需要允许端口 8080(或你配置的其他端口)通过防火墙。
-
允许 8080 端口通过防火墙:
sudo ufw allow 8080/tcp
-
重新加载防火墙规则:
sudo ufw reload
四、停止 Tomcat
1. 停止 Tomcat(Linux 系统)
进入 bin
目录并执行停止脚本:
cd /opt/apache-tomcat-9.0.62/bin
./shutdown.sh
2. 停止 Tomcat(Windows 系统)
在 C:\Tomcat\bin
目录中,双击 shutdown.bat
文件,Tomcat 将停止。
五、常见问题
-
Tomcat 无法启动:
- 检查 JDK 是否正确安装并配置。
- 确认端口 8080(或你设置的端口)是否已被其他应用占用。
-
访问 Tomcat 时显示 404 错误:
- 确保 Tomcat 已经正确启动,并且你访问的是正确的 URL。
-
Tomcat 运行缓慢:
- 可能是因为没有配置正确的 JVM 参数。可以通过修改
bin/setenv.sh
(或setenv.bat
)来优化 JVM 配置。
- 可能是因为没有配置正确的 JVM 参数。可以通过修改
通过以上步骤,你就能够在 Linux 或 Windows 系统上成功安装并配置 Apache Tomcat,并进行基础的管理和调优。如果需要更多的定制配置,可以参考 Tomcat 官方文档进行深入学习。
三、铁哥服务器实战
在老地方创建个tomcat文件夹,把包上传上去
cd /usr/local/tomcat
tar -zxvf apache-tomcat-9.0.64.tar.gz
cd /usr/local/tomcat/apache-tomcat-9.0.64/bin
./startup.sh 启动tomcat
http://139.198.23.115:11028/ 访问地址,默认是8080端口
./shutdown.sh 关闭tomcat
tomcat的角色用户扩展功能:(tomcat不在公司115的Linux上时,通信需要账号密码角色等信息,内部为了管理,也在115配置了)
vim /usr/local/tomcat/apache-tomcat-9.0.64/conf/tomcat-users.xml增加如下配置:( 注意编码问题,手动输入)
<tomcat-users><role rolename="tomcat"/><role rolename="role1"/><role rolename="manager-script"/><role rolename="manager-gui"/><role rolename="manager-status"/><role rolename="admin-gui"/><role rolename="admin-script"/><user username="tomcat" password="tomcat" roles="manager-script,manager-gui,manager-status,admin-gui,admin-script"/>
</tomcat-users>
用户和密码都是:tomcat
为了能够刚才配置的用户登录到Tomcat,还需要修改以下配置
vim /usr/local/tomcat/apache-tomcat-9.0.64/webapps/manager/META-INF/context.xml<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
把上面这行注释掉即可!重启Tomcat
/usr/local/tomcat/apache-tomcat-9.0.64/bin/shutdown.sh
/usr/local/tomcat/apache-tomcat-9.0.64/bin/startup.sh访问: http://139.198.23.115:11028/manager/html ,输入tomcat和tomcat,看到以下页面代表成功啦
配置多端口
<Service name="cpxfBackEnd"><Connector port="8081" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /><Engine name="cpxfBackEnd" defaultHost="localhost"><Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/></Realm><Host name="localhost" appBase="cpxfBackEnd"unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t "%r" %s %b" /></Host></Engine></Service>
前面增加的注意编码,不同的端口访问不同的地址