3、Nginx 反向代理实例
Nginx 反向代理实例 1
一、实现效果
打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 liunx 系统 tomcat 主页面中
二、准备工作,启动nginx和tomcat
在 liunx 系统中 nginx的安装以及启动https://www.cnblogs.com/lyh233/p/12729523.html
在 liunx 系统中 tomcat的安装以及启动https://www.cnblogs.com/lyh233/p/12731529.html
三、访问过程的分析
windows中使用域名,域名解析之后访问的是nginx;然后nginx再进行访问linux中tomcat的首页
4、具体配置
第一步:在 windows 系统的 host 文件进行域名和 ip 对应关系的配置
默认host文件都是在C:\Windows\System32\drivers\etc路径下
默认该文件也是只读的,要有修改权限的话需要把只读去掉
在hosts文件鼠标右击,点击属性,把只读那个√去掉,然后点击确定
在 hosts文件中追加内容
前面写linux的ip 空格后面写一个域名
#nginx方向代理测试 192.168.237.132 www.123.com
相当于在浏览器中输入域名就代表ip
(在本机hosts文件配置了的域名对应ip则使用本机的域名解析,hosts没有配置域名对应的ip则使用网上的域名解析器)
保存之后在浏览器中输入www.123.com:8080即相对于192.168.237.132:8080
第二步:在 nginx 进行请求转发的配置(反向代理配置)
在linux系统中进入nginx目录下的conf目录下,里面有个nginx.conf文件
编辑这个文件之前最好先备份一份
cp nginx.conf nginx.conf.bak
编辑 nginx.conf文件
把server_name从localhost改为linux系统的ip地址
然后在 location / 里面里面添加一个proxy_pass http://127.0.0.1:8080
配置这些相当于访问 192.168.237.132:80/ 时nginx进行反向代理把请求转发到http://127.0.0.1:8080这个路径
5、最终测试
修改nginx.conf配置之后,如果修改之前启动了nginx则需要重启
进入nginx目录下的sbin目录执行重启命令
./nginx -s reload
修改之前没有启动的话就直接启动nginx
./nginx
访问www.123.com:80测试进入的不是nginx首页而是tomcat首页,说明配置成功
Nginx 反向代理实例 2
一、实现效果
使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中
nginx 监听端口为 9001,
访问 http://192.168.17.129:9001/edu/ 直接跳转到 127.0.0.1:8080
访问 http://192.168.17.129:9001/vod/ 直接跳转到 127.0.0.1:8081
二、准备工作
(1)准备两个 tomcat 服务器,修改 server.xml,修改部分端口号,一个 8080 端口,一个 8081 端口,然后启动 tomcat
安装路径分别在/usr/local/java/tomcat8080/下和/usr/local/java/tomcat8081/下
进入8081的conf目录下编辑server.xml修改一些端口部分,以免不能开启两个tomcat
(2)分别创建文件夹和测试页面
cd /usr/local/java/tomcat8080/apache-tomcat-8.5.54/webapps mkdir edu cd edu vim a.html <h1>8080!!</h1>
cd /usr/local/tomcat8081/apache-tomcat-8.5.54/webapps mkdir vod cd vod vim a.html <h1>8081!!</h1>
三、具体配置
(1)找到 nginx 配置文件,添加反向代理配置
#192.168.237.132;反向代理示例2配置 server { listen 9001; server_name 192.168.237.132; location ~ /edu/ { proxy_pass http://127.0.0.1:8080; } location ~ /vod/ { proxy_pass http://127.0.0.1:8081; } }
(2)开放对外访问的端口号 9001 8080 8081(测试的时候不必设置永久开发这些端口,8080倒是可以)
四、最终测试