Nginx负载均衡配置
1.安装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;
}
}
重启服务器
上一篇: mybatis之基础的增删改查