Nginx负载均衡配置

使用 sudo apt-get install nginx 就能自动安装 Nginx,为了确保获得最新的 Nginx,可以先使用 sudo apt-get update 命令更新源列表。

安装好之后,使用 dpkg -S nginx 命令来搜索 nginx相关文件,可以从命令显示结果看出 Nginx默认的安装位置是/etc/nginx目录,其配置文件nginx.conf也是在该目录下,并且在 etc/init.d 下有 nginx的启动程序,该目录下的程序都会在系统开启时启动。

此外,Nginx的默认网站目录是 /usr/share/nginx/html/,默认Nginx网站配置文件为 /etc/nginx/sites-available/default 。

启动 Nginx服务,使用下面两个命令任意一个即可:

sudo /etc/init.d/nginx start

sudo service nginx start

使用 netstat -anp 则可以看到80端口已经处于 LISTEN状态了。

直接查看80端口可以使用命令:sudo lsof -i :80

在浏览器输入 127.0.0.1后,就可以看见 Nginx的欢迎页面了。

之后安装LNMP环境

2.配置反向代理

将nginx的请求代理到

IP为139.196.142.229的服务器上

在nginx中新建配置文件(/etc/nginx/sites-available/defualt/),文件名自己取(例:qqlong.top)

写入

server {
listen 80;
listen [::]:80;
root /var/www/html/qql/;
index index.html index.htm index.nginx-debian.html index.php;
server_name ng.qqlong.top;
location /{
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
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_buffering off;
#设置反向代理的地址

proxy_pass http://139.196.142.229;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}


#}

建立软连接到 ln -s ./qqlong.top /etc/nginx/sites-enabled/下

重启nginx服务(/etc/init.d/nginx restart)

3.配置负载均衡

修改上面的配置文件

 #server上添加此upstream节点
upstream mytomcat{
        ip_hash;(用来使同一个IP访问同一个服务器,如果做好session共享可舍去)
    #分权 即访问131与134的次数比例为1比1
        server 139.196.142.229 weight=1;
        server 139.224.135.180 weight=1;
        }

    server {
        listen 80;
        root /var/www/html/qql/;
        index index.html index.htm index.nginx-debian.html index.php;
        server_name ng.qqlong.top;
        #即所有请求都到这里去找分配
        location / {
        #设置主机头和客户端真实地址,以便服务器获取客户端真实IP
        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_buffering off;
       #使用mytomcat分配规则,即刚自定义添加的upstream节点
           proxy_pass http://mytomcat;

        }
    }

重启服务器