业务需求:当http请求数量超出一台服务器的承受能力的时候,我们考虑添加一台或更多的服务器;为了在多台服务器间分配任务,
我们采用nginx来代理/分发http请求
准备条件:
1. 创建一个web应用hello-web, 生成hello-web.war;
2. 准备两个tomcat环境,端口分别为8080, 8086;将hello-web复制到两个tomcat的webapps下;
3. 分别启动两个tomcat, 确保可以访问http://localhost:8080/hello-web; http://localhost:8086/hello-web;
4. 到http://nginx.org/en/download.html下载nginx的windows包;我下载的nginx-1.12.1.zip; 解压nginx-1.12.1.zip,
可以看到文件夹nginx-1.12.1下有nginx.exe, 双击该文件启动nginx;
Tips:
nginx 常用命令:
nginx -s reload 重新加载配置文件nginx.conf
nginx -s stop 退出nginx
nginx -s quit 退出nginx
代理一台服务器
1. 修改配置文件nginx-1.12.1/conf/nginx.conf;
server {
2. 访问localhost/hello-web成功;...
server_name localhost:8080;
...
location / {
root html;
index index.html index.htm;
proxy_passhttp://localhost:8080;
}...
}
如下图:
代理两台服务器
1. 修改配置文件nginx-1.12.1/conf/nginx.conf;
upstream local_tomcat { server localhost:8080 weight=1; server localhost:8086 weight=5; }
server { listen 80; server_name localhost:8086; ... location / { root html; index index.html index.htm; proxy_pass http://local_tomcat; } ... }
如下图:
2. 访问localhost/hello-web成功;