nginx配置反向代理详细教程(windows版)
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强。
下面就详细的说一说如何用Nginx实现反向代理。
首先:来做点准备工作,最少两个tomcat,另外设置两个域名并解析到本地ip(因为nginx是直接配置域名)
(1)准备两个tomcat
分别设置两个tomcat的/conf/server.xml中的端口号,如下
tomcat1端口号分别设置为:8205 8280 8209
tomcat2端口号分别设置为:8215 8281 8219


(2)添加测试内容
分别删除目录webapps下所有文件,新建一个文件夹ROOT,并在该目录下新建index.html
内容可以设置为:这里是8280端口。(另一个:这里是8281端口。)
(3)启动两个tomcat


(4)分别访问两个tomcat下的项目
访问下面两个网址:
127.0.0.1/8280
127.0.0.1/8281
如果能够访问到对应的index.html文件就说明tomcat配置且启动成功。
(5)设置两个域名并做解析
修改hosts文件,目的是为了设置2个域名, tomcat1.com和 tomcat2.com并且解析到本地ip:127.0.0.1
路径:C:\Windows\System32\drivers\etc
打开hosts文件,加上(如果修改后无法保存,可以把hosts文件复制到桌面,修改完成后再替换原有hosts文件)
添加内容如下:
127.0.0.1 tomcat1.com
127.0.0.1 tomcat2.com

(6)测试域名是否解析成功
127.0.0.1/8280;127.0.0.1/8281分别修改为
tomcat1.com:8280;tomcat2.com:8281


如果显示结果如上图所示,说明域名设置并解析成功。
下面开始正式配置Nginx服务器的方向代理。
1. 下载、安装Nginx服务器
输入网址:http://nginx.org/en/download.html ,选个合适的版本,下载后解压到合适的路径。

解压后,如图所示:nginx.exe可以直接运行,但是不建议。

2. 配置反向代理
打开/conf/nainx.conf文件,删除server{ …… },或者注销掉
重新添加server{ }
listen:监听的端口号
server_name: 访问域名
location :这里配置为/ 直接匹配端口下的默认ROOT下的项目,location内容很广泛,
参见:https://segmentfault.com/a/1190000009651161
proxy_pass :为项目的实际访问地址
server {
listen 80;
server_name tomcat1.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8280;
index index.html index.htm;
}
}
server {
listen 80;
server_name tomcat2.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8281;
index index.html index.htm;
}
}
3.启动、关闭、重启Nginx服务器
打开cmd.exe运行命令。
注意:一定要在nginx.exe文件所在的文件夹下操作。
(1)启动:
H:\nginx-1.12.2>start nginx
或H:\nginx-1.12.2>nginx.exe
注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。
(2)停止:
H:\nginx-1.12.2>nginx.exe -s stop
或H:\nginx-1.12.2>nginx.exe -s quit
注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。
(3)重新载入Nginx:
H:\nginx-1.12.2>nginx.exe -s reload
当配置信息修改,需要重新载入这些配置时使用此命令。
(4)重新打开日志文件:
H:\nginx-1.12.2>nginx.exe -s reopen
4. 测试是否配置成功
输入域名:tomcat1.com和tomcat2.com


如果输入域名后显示如上图,即为成功配置。
5.可能会遇到的问题(进程关闭失败)
在使用的过程中,你可能会遇到一个很奇葩的问题,就是当关闭命令执行了无数遍,页面却还是可以直接用域名访问。
这个时候就说明你的进程并没有真正关闭,我们可以用命令来查询一下:
cmd中输入:netstat -an|find "0:80"
如果有,说明真的没有关闭这个进程。没有,那就看看是不是浏览器缓存的问题。
针对进程不能正常关闭,可以用如下命令来关闭:taskkill /F /IM nginx.exe > nul
以上就是用nginx服务器做反向代理服务器的全部内容,希望对你有所帮助。
如需转载,请注明地址:http://www.cnblogs.com/j-star/p/8785334.html
nginx配置反向代理详细教程(windows版)的更多相关文章
- windows版 nginx配置反向代理实例教程 跳转tomcat和php网站
抄自 https://www.cnblogs.com/j-star/p/8785334.html 个人理解 nginx端口设置为80,简称n tomcat端口设置为其他,例如8080,简称t php网 ...
- Linux - Nginx配置反向代理。
Nginx配置反向代理. 准备两台服务器 http://192.168.70.66 http://192.168.70.62 设置正则匹配(192.168.70.66) vim /usr/local/ ...
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- CentOS 7 安装 Nginx 配置反向代理
Linux使用Nginx Yum存储库上安装Nginx,适用于Red Hat Enterprise Linux和CentOS系统. 1.添加设置Nginx Yum存储库 在CentOS中首次安装Ngi ...
- [笔记]nginx配置反向代理和负载均衡
1.nginx配置文件:源码安装情况下,nginx.conf在解压后的安装包内.yum安装,一般情况下,一部分在/etc/nginx/nginx.conf中,一部分在/etc/nginx/conf.d ...
- 【本地服务器】用nginx进行反向代理处理(windows)
在通过json-server搭建本地服务器得到 http://localhost:3000/todos 的基础上,要想将接口改为www.test.com/todos这样的形式 ,则需要用nginx ...
- nginx笔记 安装nginx 配置 反向代理 多虚拟主机
1,检测linux上是否 通过yum安装了nginxrpm -qi nginx 2.安装nginx之前的依赖包yum install gcc patch libffi-devel python- ...
- nginx 配置反向代理,负载均衡实战解析
前言:NGINX的反向代理和负载均衡是网站架构中经常用到的一种高并发,高可用的方案,下面我们直接实战操作,当然理论也是要的. 一.反向代理 过程:反向代理:客户端 一>代理 <一> ...
- nginx 配置反向代理和静态资源
https://unit.nginx.org/integration/ 与NGINX集成 在NGINX后面安装单元 将NGINX配置为静态Web服务器,并在Unit前面配置反向代理. NGINX直接从 ...
随机推荐
- 百度和谷歌的逆地址解析及GPS、谷歌地图和百度地图坐标之间的转换(python版)
#!/usr/bin/env python # coding:utf-8 # @author: KaiVen """ GPS坐标转换: WGS-84:是国际标准,GPS坐 ...
- ELK重难点总结和整体优化配置
本文收录在Linux运维企业架构实战系列 做了几周的测试,踩了无数的坑,总结一下,全是干货,给大家分享~ 一.elk 实用知识点总结 1.编码转换问题(主要就是中文乱码) (1)input 中的cod ...
- 学习 CosmosDB (NoSql)
Microsoft Azure官网 学习cosmos DB,也称作 documentDB,NoSql,不是关系型数据库,数据以Json的格式存储,灵活性强. 1.DLL 2.Connector set ...
- 制作centos的启动盘
制作centos的U盘启动盘 author:headsen chen 2017-10-13 10:24:50 个人原创,允许转载,请注明作者,出处,否则依法追究法律责任! 1,下载Ultr ...
- python初识(一)
python语言的发展 python语言诞生于1990年,由Guido van Rossum设计并领导开发. 1989年12月,Guido为打发圣诞节时间而开发的项目. python名字的由来,由于当 ...
- JavaIO
1.字节流和字符流 在IO有两种数据传输格式一个是字符流还一个是字节流,但是字符流就会涉及到编码的问题. 一开始美国使用的自己的编码表就是ASCII表 中国的字符需要被识别也需要编码表于是就有了GB2 ...
- MYSQL数据库学习五 表的操作和约束
5.1 表的基本概念 表示包含数据库中所有数据的数据库对象.一行代表唯一的记录,一列代表记录的一个字段. 列(Columns):属性列,创建表时必须指定列名和数据类型. 索引(Indexes):根据指 ...
- 【Python】 Web开发框架的基本概念与开发的准备工作
Web框架基本概念 现在再来写这篇文章显然有些马后炮的意思.不过正是因为已经学习了Flask框架, 并且未来计划学习更加体系化的Django框架,在学习过程中碰到的很多术语等等,非常有必要通过这样一篇 ...
- spring学习笔记二 注解及AOP
本节需要导入spring-aop包 注解 使用注解的目的是为了代替配置,在使用注解时,省略键时,则是为value赋值. 扫描某个包下的所有类中的注解 <?xml version="1. ...
- 使用git将文件上传到Coding
1,首先在Coding上新建项目. 2,填写项目的相关内容. 3,建立项目后复制下面鼠标所选内容. 4,在自己的电脑中建立文件夹. 5,进入该文件夹后,点击鼠标右键,然后再点Git Clone. 6 ...