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

来源:互联网 发布:电气autocad软件下载 编辑:程序博客网 时间:2024/06/03 13:40

这里没有安装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

 

原创粉丝点击