教你如何在5分钟轻松部署nginx反向代理
2020-04-20 14:34:47 49
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
借用知乎两张图来解释反向代理:
知乎图来源链接:https://www.zhihu.com/question/24723688
作用
保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击
负载均衡,通过反向代理服务器来优化网站的负载搭建与部署
添加nginx仓库
根据对应的版本在官网查找仓库:http://nginx.org/en/linux_packages.html
[root@ECS58979490c134 ~]# vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[root@ECS58979490c134 ~]# yum clean all //清除YUM缓存
[root@ECS58979490c134 ~]# yum makecache //把服务器的包信息下载到本地电脑缓存起来
安装nginx
[root@ECS58979490c134 ~]# yum install nginx
编辑主配置文件
[root@ECS58979490c134 ~]# vi /etc/nginx/nginx.conf
http {
upstream eflycloud { //用upstream设置后台web服务器轮循组名称,名字随便起,在这起名叫eflycloud
server 192.168.1.100:80; //用server指定,web服务器的IP和端口,有几台指定几台
server 192.168.1.200:80;
}
server {
listen 80;
server_name www.eflycloud.com;
location / {
root html;
index index.html index.htm;
proxy_pass http://eflycloud; //设置生成反向代理,http://后面的名字要和upstream设置的轮循组一样
}
}
}
启动nginx服务
[root@ECS58979490c134 ~]# service nginx start
[root@ECS58979490c134 ~]# netstat -anptu|grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10840/nginx: master
下一章将带大家学习nginx负载均衡几种常用策略,敬请期待~
睿江云官网链接:www.eflycloud.com