反向代理示例
想要进行反向代理的实现,对于nginx来说,主要修改nginx.conf文件中的server模块。
修改完后重载nginx, 在/usr/sbin目录下执行 ./nginx -s reload
,重新加载配置文件。
server {
listen 9001;
server_name 192.168.111.136; 【修改】
location ~ /edu/ {
proxy_pass http://127.0.0.1:8080;【添加转发的路径】
}
location ~ /vod/ {
proxy_pass http://127.0.0.1:8081;【添加转发的路径】
}
}
监听9001,若路径中包含edu,则跳转到8080端口;若路径中包含vod,则跳转到8081端口。
server模块:配置虚拟主机的相关参数,一个http中可以有多个server
location模块:配置请求的路由,以及各种页面的处理情况
示例:
在电脑端浏览器输入www.123.com ,自动跳转到Linux系统中的tomcat主页面中
1、修改host文件
在windows中的host文件进行域名和IP对应关系的配置(文件地址:C:\Windows\System32\drivers\etc
)
添加 192.168.111.136 www.123.com
2、安装tomcat
创建两个目录,并分别安装上tomcat(解压压缩包,并安装jdk即可)
jdk下载路径 https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html
[root@localhost opt]# mkdir tomcak_2
[root@localhost opt]# mkdir tomcak_1
[root@localhost opt]# tar -zxf apache-tomcat-8.5.49.tar.gz -C tomcak_1
[root@localhost opt]# tar -zxf apache-tomcat-8.5.49.tar.gz -C tomcak_2
编辑server.xml文件 vi /opt/tomcak_1/apache-tomcat-8.5.49/conf server.xml
找到这三处,修改端口(分别在原来的基础上加1),保存后,启动两台tomcat。这时,一台为8080,一台为8081.
<Server port="8006" shutdown="SHUTDOWN">
--------------------------------------------------------------------------------
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-----------------------------------------------------------------------------
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
进入tomcat的bin目录,启动tomcat服务 ./startup.sh
在浏览器输入ip地址,显示效果如下
此为修改windows中host文件后展示效果
示例1
进入nginx配置文件,修改server模块
server {
listen 80;
server_name 192.168.111.136; 【修改】
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://127.0.0.1:8080; 【添加转发的路径】
index index.html index.htm;
}
server模块:配置虚拟主机的相关参数,一个http中可以有多个server
location模块:配置请求的路由,以及各种页面的处理情况
修改完后重载nginx
在/usr/sbin目录下执行 ./nginx -s reload
测试结果如下
示例2
准备两个tomcat服务器,一个为8080端口,一个为8081端口,分别在两个tomcat的webapps目录下创建相应文件夹(8080为edu;8081为vod),并在文件夹内创建HTML文件。
[root@localhost opt]# cd /opt/tomcak_1/apache-tomcat-8.5.49/webapps/
[root@localhost webapps]# mkdir vod
[root@localhost webapps]# cd vod/
[root@localhost vod]# touch a.html
[root@localhost opt]# cd /opt/tomcak_2/apache-tomcat-8.5.49/webapps/
[root@localhost webapps]# mkdir edu
[root@localhost webapps]# cd edu/
[root@localhost edu]# touch a.html
进入nginx配置文件,进行反向代理配置
vi /etc/nginx/nginx.conf
server {
listen 9001;
server_name 192.168.111.136;
location ~ /edu/ {
proxy_pass http://127.0.0.1:8080;
}
location ~ /vod/ {
proxy_pass http://127.0.0.1:8081;
}
}
监听9001,若路径中包含edu,则跳转到8080端口;若路径中包含vod,则跳转到8081端口。
~ :表示区分大小写的正则匹配
[root@localhost sbin]# cd /usr/sbin
[root@localhost sbin]# ./nginx -s reload
测试结果如下