nginx 配置请求转发 和 负载均衡

这里没有安装Nginx的朋友请移步: http://blog.csdn.net/qq_27292113/article/details/78189500

1、nginx 配置请求转发

找到自己安装目录下的 nginx.conf 文件

找到 

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
这个是原有的改为:

    server
        {
                listen 80;
                server_name www.baidu.com;
                access_log logs/www_baidu_access.log main;
                error_log logs/www_baidu_error.log;
                location / {
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_pass http://127.0.0.1:8081; 
                        #access_log  logs/www_baidu_access.log;
                }
        }

server_name 是访问的域名 我这里以百度为例子

access_log,error_log  后面是配置的日志存放位置

proxy_pass            后面配置你需要转发的IP地址 http://127.0.0.1:8081;

这里两个注意点:1、每个配置写完换行的时候 “;”结束。

     2、server_name  后面的域名要配置解析到该服务器不然无法使用。

上面配置完成后,访问www.baidu.com时实际上被转到了 proxy_pass  配置的ip服务器上去了。


2、nginx 配置简单负载均衡

         upstream api.baidu.com {
                 server  127.0.0.3:8080;
                 server  127.0.0.2.81:8888;
        }
        server{
                 listen 80;
                 server_name api.baidu.com;
                 location / {
                         proxy_pass         http://api.baidu.com;
                         proxy_set_header   Host             $host;
                         proxy_set_header   X-Real-IP        $remote_addr;
                         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            }

upstream 配置负载的域名
每一个server 都是一个独立的服务,(可以是两台服务器,也可以部署在一个服务器上设置不同端口)

server  目标服务器的ip地址
相对请求转发要少配置一个proxy_pass的参数。

改完Nginx.conf 文件后要重启nginx服务器

(首次启动需:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf)

(Nginx启动的情况下重启使用这个命令) /usr/local/nginx/sbin/nginx -s reload


参考:http://www.cnblogs.com/andashu/p/6377323.html

 

展开阅读全文

没有更多推荐了,返回首页