一、预期效果
在浏览器的地址栏中输入www.123.com后按下回车键,页面自动跳转到Tomcat服务器的主页面。
效果如下:
二、准备工作
1.安装Tomcat
Linux服务器是没有自带Tomcat的,所以首先要到Tomcat官网下载压缩包,或者使用wget命令下载:
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.55/bin/apache-tomcat-9.0.55.tar.gz
下载完成后,进行解压:
tar -xvf apache-tomcat-9.0.55.tar.gz
启动Tomcat
# 进入tomcat主目录
cd apache-tomcat-9.0.55/
# 再进入bin目录
cd bin
# 执行启动脚本
./startup.sh
查看日志
# 返回上一级目录
cd ..
# 进入logs目录
cd logs
# 查看catalina.out
tail -f catalina.out
可以看到Tomcat运行在8080端口。
[root@localhost logs]# tail -f catalina.out
17-Nov-2021 08:00:08.763 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/root/apache-tomcat-9.0.55/webapps/docs]
------省略部分输出信息--------
17-Nov-2021 08:00:09.579 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/root/apache-tomcat-9.0.55/webapps/manager] has finished in [20] ms
17-Nov-2021 08:00:09.583 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
17-Nov-2021 08:00:09.604 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [1228] milliseconds
这样,Tomcat就安装完成了。
2.开放端口
现在还无法从外部访问这里的Tomcat,因为Linux的8080端口是默认不开放的,所以需要开放端口:
# 开放8080端口
firewall-cmd --permanent --add-port=8080/tcp
# 重新加载防火墙
firewall-cmd --reload
设置完成后,就可以在外部主机的浏览器输入http://IP地址:8080
来访问服务器上的Tomcat了。
3.修改hosts文件
完成上面的步骤,只是能通过IP地址访问,达不到预期的效果。由于域名www.123.com
没有注册,所以在外网的DNS上是找不到的相应的映射的。
我们要把域名www.123.com
对应的IP地址告诉外部主机,就需要在hosts文件末尾添加以下配置:
192.168.x.x www.123.com
其中的192.168.x.x
是Linux服务器的IP地址。
扫描二维码关注公众号,回复:
13184200 查看本文章
三、nginx配置
接下来,就可以配置nginx,让它来转发外部主机发送的请求给Tomcat,代码如下:
cd /usr/local/nginx/conf
vim nginx.conf
修改的是server块以及其中的location块
server {
listen 80;
server_name 192.168.x.x; #这里改为服务器的IP
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://127.0.0.1:8080; #因为要转发到服务器上的Tomcat,所以改为127.0.0.1
index index.html index.htm;
}
配置完成后,启动nginx就可以了:
cd ..
cd sbin
./nginx
如果之前已经启动了nginx,就重新加载配置:
./nginx -s reload
四、验证
在外部主机的浏览器中输入www.123.com,成功访问Tomcat主页:
至此,nginx反向代理的简单配置完成。