Web 服务器:Nginx、Apache 和 Tomcat 一起安装共存
目标
- 安装 Nginx、Apache 和 Tomcat。
- 配置不同端口以避免冲突(默认 HTTP 端口是 80)。
- Nginx: 80
- Apache: 8080
- Tomcat: 8081
1. 安装 Nginx
让我们先从 Nginx 开始
更新包索引并安装 Nginx: 打开终端,输入:
sudo apt update sudo apt install nginx
启动 Nginx 并设置开机自启:
sudo systemctl start nginx sudo systemctl enable nginx
看看 Nginx 是不是跑起来了: 在浏览器里输入
http://服务器IP
,如果看到 Nginx 的欢迎页面,说明成功!🎉 Nginx 默认用 80 端口,配置文件在/etc/nginx/sites-available/default
,我们不用改端口,直接用默认的就行~
2. 安装 Apache(调整到 8080 端口)
接下来是 Apache,我们得给它换个端口,比如8080,免得和 Nginx 抢 80 端口
安装 Apache:
sudo apt install apache2
把 Apache 端口改成 8080:
打开主配置文件:
sudo nano /etc/apache2/ports.conf
找到
Listen 80
,改为:Listen 8080
再改虚拟主机配置文件:
sudo nano /etc/apache2/sites-available/000-default.conf
将
<VirtualHost *:80>
改为:<VirtualHost *:8080>
重启 Apache:
sudo systemctl restart apache2
检查 Apache 是不是正常运行: 在浏览器访问
http://服务器IP:8080
,看到 Apache 默认页面就说明 OK !设置开机自启:
sudo systemctl enable apache2
3. 安装 Tomcat 10(调整到 8081 端口)
Tomcat 我们来给它分配 8081 端口
3.1 前提准备
确认 Java 环境: Tomcat 需要 Java 运行时,先检查一下:
java -version
如果没有安装 Java,赶紧装一个:
apt update apt install default-jdk
default-jdk 是一个软件包,代表了默认的 Java Development Kit(JDK)
检查端口占用: 确保 8081 端口没被其他程序占用:
lsof -i :8081
如果有占用,可以选别的端口,或者把占用端口的进程停掉。
3.2 安装 Tomcat 10
安装 Tomcat 10 和相关包:
sudo apt install tomcat10 tomcat10-admin tomcat10-docs tomcat10-examples
这些包包括:
tomcat10
:核心 Tomcat 服务。tomcat10-admin
:管理界面(/manager
和/host-manager
)。tomcat10-docs
:官方文档(/docs
)。tomcat10-examples
:示例应用(/examples
)。
默认路径:
- 配置文件:
/etc/tomcat10/
- Web 应用:
/var/lib/tomcat10/webapps/
- 日志:
/var/log/tomcat10/
- 服务:通过
tomcat10
systemd 管理。
- 配置文件:
默认端口: Tomcat 默认用 8080 端口(HTTP),还有 8009(AJP)和 8005(关闭命令)。我们得把 HTTP 端口改成 8081。
3.3 修改 Tomcat 端口为 8081
先停掉 Tomcat 服务:
sudo systemctl stop tomcat10
编辑配置文件:
sudo nano /etc/tomcat10/server.xml
找到 HTTP 连接器部分,把
port="8080"
改成:<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444" />
3.4 启动并验证 Tomcat
启动 Tomcat:
sudo systemctl start tomcat10
设置开机自启:
sudo systemctl enable tomcat10
检查运行状态:
sudo systemctl status tomcat10
访问默认页面: 在浏览器输入
http://服务器IP:8081
,看到 Tomcat 的欢迎页面(/var/lib/tomcat10/webapps/ROOT/index.html
),就说明成功 !
4. 验证三者共存
现在,我们的三个 Web 服务器应该都在运行了!来检查一下:
检查服务状态:
sudo systemctl status nginx sudo systemctl status apache2 sudo systemctl status tomcat10
访问测试:
- Nginx:
http://服务器IP
(80 端口) - Apache:
http://服务器IP:8080
- Tomcat:
http://服务器IP:8081
- Nginx:
如果每个地址都能访问到对应的欢迎页面,Nginx、Apache 和 Tomcat 已经完美共存!🎉
小提醒
Nginx 页面显示 Apache 的原因:
如果你发现访问 http://服务器IP
(Nginx 的 80 端口)时显示了 Apache 的默认页面,别慌!这可能是因为 Nginx 和 Apache 的默认网页目录指向了同一个地方(比如 /var/www/html),记得改一下。
效果图: