采用nginx代理/分发http请求

来源:互联网 发布:女生做程序员好吗 编辑:程序博客网 时间:2024/05/29 21:35

业务需求:当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 {

...

server_name  localhost:8080;

...

location / {
            root   html;
            index  index.html index.htm;
    proxy_passhttp://localhost:8080;
 }

...

}

如下图:


2. 访问localhost/hello-web成功;


代理两台服务器

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_passhttp://local_tomcat;        }...}


如下图:




2. 访问localhost/hello-web成功;


原创粉丝点击