Nginx实现反向代理(同一服务器下不同端口服务映射到80端口)
来源:互联网 发布:淘宝首页在线制作 编辑:程序博客网 时间:2024/06/06 01:43
本文欢迎转载,转载请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN
前言
之前发布过一篇如何在Tomcat中配置二级域名。现在发现几个月前的我太年轻了(哎,过几个月后我同样还会说现在的我很年轻,哈哈)。Tomcat确实可以配置二级域名,将不同二级域名的请求配置到不同的服务。但前提是这些服务都放在一个Tomcat里运行,如果其中一个服务需要更新重新部署,那这个Tomcat下其他的应用不也跟着一起停服了么。
好在之前那个项目,都是一些静态资源,所以直接在一个Tomcat下配置也无妨。
那怎么样才能实现如下的需求:只有一台服务器,里面部署了3个web应用。3个web应用分别部署在不同端口下的Tomcat中,假设端口为8080,8081,8082。通过访问www.mayuzhe.com访问的是8080端口服务,访问admin.mayuzhe.com访问的是8081的服务,访问video.mayuzhe.com访问的是8082的服务。
总不能让用户访问的时候带着端口号(例如:www.mayuzhe.com:8081)进行访问吧?所以在这里,就需要一种工具,将原本对80端口的请求分别映射到服务器内部不同的端口。这个功能用Nginx即可实现。
Windows下安装Nginx
因为这次项目用的服务器是Win Server 2008的,所以这里重点介绍一下windows下Nginx环境的搭建。
首先去Nginx官网http://nginx.org/en/。点击右侧【download】,选择Mainline version下的Windows版本。我在写这篇博客时的的nginx版本是nginx/Windows-1.13.6。
下载后解压zip压缩包,将nginx-1.13.6文件夹拷贝到你自定义的一个目录中即可,我的是D:\dev_env\nginx
现在,就可以运行nginx服务了。
配置反向代理
不过在运行服务之前,需要先配置一下反向代理。
打开nginx-1.13.6/conf目录。编辑nginx.conf文件。
在http{}中填下一个server{}
http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on;#这里添加反向代理server配置代码 server { listen 80; server_name www.mayuzhe.com; location / { proxy_pass http://127.0.0.1:8080; } }
重点就是这个server{}
这里listen代表监听对80端口的请求。
server_name为访问的域名。
proxy_pass是需要映射到哪个服务的哪个端口下。
添加完后,保存conf文件。
至此,反向代理就配置完了。
大功告成
在本地启动一个Tomcat,端口号为8080.
修改hosts文件,添加127.0.0.1 www.mayuzhe.com
启动Nginx服务
然后在浏览器访问 www.mayuzhe.com ,不出意外的话就能出现tomcat的默认界面了。
有关Nginx的基本命令
在nginx目录下,摁住shift + 点击右键,选择【在此处打开命令窗口】
1.启动 start nginx
或者 nginx.exe
2.停止 nginx.exe -s stop
或者 nginx.exe -s quit
其中,stop是立即结束服务,不保存相关信息;quit则是保存相关信息并按流程退出nginx服务。
3.重启nginx nginx.exe -s reload
4.查看nginx版本 nginx -v
- Nginx实现反向代理(同一服务器下不同端口服务映射到80端口)
- 使用nginx反向代理到不同服务器(共享同一端口)配置文件
- Nginx反向代理80端口,实现同一台服务器多个80端口
- nginx实战--nginx反向代理同一域名不同端口
- nodejs使用nginx端口转发,端口映射,反向代理,子域名映射到不同端口
- 同一服务器下配置多域名,去掉Tomcat端口号,Nginx反向代理做转发
- Centos配置nginx反向代理8080端口到80端口
- nginx代理同一ip,不同端口,域名服务
- nginx 同一端口根据不同域名转发到不同端口
- 利用Nginx反向代理解决服务器80端口被封
- Nginx通过二级目录(路径)映射不同的反向代理,规避IP+端口访问
- Nginx配置实现同一域名下 同一ip 通过子域名访问不同端口
- Nginx配置二级目录反向代理本机不同端口
- Nginx反向代理设置从80端口转向其他端口
- Windows下Nginx学习历程_Nginx反向代理设置从80端口转向其他端口
- 使用nginx 同一端口根据不同域名转发到不同端口
- nginx 根据不同url反向代理到不同服务器
- 使用nginx反向代理发布多个域名80端口的WEB服务
- Java8 Stream原理深度解析
- oracle批量添加数据
- 连接两个字符串中的不同字符 lintcode python
- 在使用visual studio 2013写程序时 ,出现了(“The POSIX name for this item is deprecated. Instead, use the ISO C+
- hdu 1290 切蛋糕
- Nginx实现反向代理(同一服务器下不同端口服务映射到80端口)
- Retrofit结合RxJava1.x使用
- AD导入logo
- TLP280-4 与 TLP281-4区别
- UVA 12034 Race
- 查询及删除重复记录的SQL语句
- 20171103
- 阿里云的OSS对象存储 java
- 三齿轮问题:三个齿轮啮合