nginx配置反向代理实例教程
1.准备两个tomcat
分别设置两个tomcat的/conf/server.xml中的端口号,如下:
tomcat1端口号分别设置为:8205 8280 8209
tomcat2端口号分别设置为:8215 8281 8219
2.添加测试内容
分别删除目录webapps下所有文件,新建一个文件夹ROOT,并在该目录下新建index.html
内容可以设置为:这里是8280端口。(另一个:这里是8281端口。)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
这里是8281端口
</body>
</html>
3.启动两个tomcat
4.分别访问两个tomcat下的项目
如果能够访问到对应的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
如果显示结果如上图所示,说明域名设置并解析成功。
7.测试域名是否解析成功
下面开始正式配置Nginx服务器的方向代理。
7.1. 下载、安装Nginx服务器
输入网址:http://nginx.org/en/download.html ,选个合适的版本,下载后解压到合适的路径。
解压后,如图所示:nginx.exe可以直接运行,但是不建议。我这里是
7.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;
}
}
7.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
7.3. 测试是否配置成功
输入域名:tomcat1.com和tomcat2.com
如果输入域名后显示如上图,即为成功配置。
查看监控端口:netstat -an|find “0:80”
7.3. 可能会遇到的问题(进程关闭失败)
针对进程不能正常关闭,可以用如下命令来关闭:taskkill /F /IM nginx.exe > nul