一、下载安装。
我是在windows环境下配置的。在nginx官网上下载最新稳定版nginx,解压后有一个nginx.exe文件。cmd下执行nginx,浏览器访问nginx所在ip(端口默认80)。访问成功则代表启动成功,停止服务cmd下nginx.exe -s -stop。
二、配置负载
在conf/nginx.conf中找到http {
include mime.types;...}
添加: upstream 123{
server 127.0.0.1:8080;
server 127.0.0.1:8090;
}
找到http{...}下的server {...}
添加:server {
listen 80;
server_name localhost;
location / {
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;(目的是错误时自动跳转到下一个负载服务器)
proxy_connect_timeout 5s;
proxy_read_timeout 1s;
proxy_pass http://123;(与upstream对应)
}
以上配置可以实现服务器节点挂掉时,不影响访问。
三、nginx的四种调度算法
1、轮询默认的
upstream 123{
server 127.0.0.1:8080;
server 127.0.0.1:8090;
}
2、ip_hash 限定ip,即每个ip访问的相同的节点服务器,session可以对应上了。
upstream 123{
ip_hash;
server 127.0.0.1:8080;
server 127.0.0.1:8090;
}
3、url_hash 限定url,即根据url现在访问相同的节点服务器。需要下载hash包使用。
4、fair 根据页面大小和效率自动分配,需要下载fair包。
四、注意
weight配置权重。upstream相应节点后weight=1,数字越大,被分配概率也越大。
down表示暂时不加入负载,什么操作让其加入我也不知道。。。
max_fails 表示最大失败次数。
fail_timeout:失败后该节点暂停的时间。
backup 其他节点处问题了访问它,保证安全性的一个操作。
ip_hash 时不能配置weight和backup。
五、nginx添加模块
cd nginx目录
./configure --add-module=新增模块路径
make
make install