CentOS 7 Nginx安装配置
1、添加Nginx源
yum install epel-release
2、安装Nginx
yum install nginx
3、启动Nginx
systemctl start nginx //配置Firewall firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload
常用操作:
//启动 systemctl start nginx //停止 systemctl stop nginx //重启 systemctl restart nginx //查看运行状态 systemctl status nginx 开机启动 systemctl enable nginx
4、配置Nginx
//打开配置文件 vim /etc/nginx/nginx.conf //配置节点 地址结尾最好加上‘/’ location / { proxy_pass http://localhost:5000/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } //保存退出 :wq //重启Nginx systemctl restart nginx
负载配置
upstream webapp { ip_hash; server 127.0.0.1:8006 weight=10; server 127.0.0.1:8007 down; server 127.0.0.1:8006 max_fails=3 fail_timeout=30s; server 127.0.0.1:8007 backup; } location / { proxy_pass http://webapp/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; }
说明:
upstream分为以下几种:
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
参数:
down 表示负载过重或者不参与负载
weight 权重过大代表承担的负载就越大
backup 其它服务器时或down时才会请求backup服务器
max_fails 失败超过指定次数会暂停或请求转往其它服务器
fail_timeout 失败超过指定次数后暂停时间
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
两者区别:
X-Forwarded-For是用于记录代理信息的,每经过一级代理(匿名代理除外),代理服务器都会把这次请求的来源IP追加在X-Forwarded-For中,如: X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3 代表 请求由1.1.1.1发出,经过第一层2.2.2.2 转发,第二层是3.3.3.3 转发,而X-Real-IP,一般只记录真实发出请求的客户端IP,如果配置了X-Read-IP,将会是 X-Real-IP: 1.1.1.1 ,如果只有一层代理,这两个头的值一样。
sudo apt-get remove nginx nginx-common # 卸载删除除了配置文件以外的所有文件。 sudo apt-get purge nginx nginx-common # 卸载所有东东,包括删除配置文件。 sudo apt-get autoremove # 在上面命令结束后执行,主要是卸载删除Nginx的不再被使用的依赖包。 sudo apt-get remove nginx-full nginx-common #卸载删除两个主要的包。 sudo service nginx restart #重启nginx
文章出处:http://www.cnblogs.com/anech/p/6866368.html