nginx之反向代理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx之反向代理相关的知识,希望对你有一定的参考价值。
nginx反向代理
nginx自动进行调度处理,自动进行健康检查
1,实验环境
准备三台虚拟机:web1,web2,proxy
2,部署后端web1,web2
[[email protected] ~]# yum -y install httpd
[[email protected] ~]# echo "192.168.2.100" > /var/www/html/index.html
[[email protected] ~]# systemctl restart httpd
[[email protected] ~]# firewall-cmd --set-default-zone=trusted //为了方便搭建环境,设置防火墙为trusted
[[email protected] ~]# setenforce 0 //设置selinux为宽松模式
[[email protected] ~]# yum -y install httpd
[[email protected] ~]# echo "192.168.2.200" > /var/www/html/index.html
[[email protected] ~]# systemctl restart httpd
[[email protected] ~]# firewall-cmd --set-default-zone=trusted
[[email protected] ~]# setenforce 0
3,安装配置nginx
1)安装
[[email protected] ~]#yum -y install gcc openssl-devel pcre-devel zlib-devel
[[email protected] ~]# tar -xf nginx-1.12.2.tar.gz
[[email protected] ~]# cd nginx-1.12.2
[[email protected] nginx-1.12.2]# ./configure
--user=nginx //指定用户
--group=nginx //指定组
--with-http_ssl_module //开启SSL加密功能
--with-stream //开启4层反向代理功能
2)配置
#vim /use/local/nginx/conf/nginx.conf
#使用upstream定义后端服务器集群,集群名称任意(如webserver)
#使用server定义集群中的具体服务器和端口
upstream webserver {
#通过ip_hash设置调度规则为:相同客户端访问相同服务器
#配置upstream服务器集群的调度算法(防止重复登录等)
ip_hash;
server 192.168.2.100:80 weight=1 max_fails=1 fail_timeout=30;
server 192.168.2.200:80 weight=2 max_fails=2 fail_timeout=30;
server 192.168.2.222 down;
}
#ip_hash 对前三个8字节ip进行hash(md5sum加密),md5sum%2判断是否是同一个ip地址
#weight设置服务器权重值,默认值为1,权重越大,该服务器承受的压力越大
#max_fails设置最大失败次数
#fail_timeout设置失败超时时间,单位为秒
#down标记服务器已关机,不参与集群调度
.. ..
server {
listen 80;
server_name localhost;
location / {
#通过proxy_pass将用户的请求转发给webserver集群
proxy_pass http://webserver;
}
}
3)重启nginx服务
[[email protected] ~]# /usr/local/nginx/sbin/nginx -s reload
#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
#[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
4,测试
#firefox http://192.168.2.5 //使用该命令多次访问查看效果面
以上是关于nginx之反向代理的主要内容,如果未能解决你的问题,请参考以下文章