需要使用nginx的反向代理功能,测试环境为centos+NGINX 1.8.0.
<code>跳过一些繁琐的问题,直接记录核心 </code>
<code>(1)centos 安装在VM中,因此需要注意网络连接问题 (2)安装nginx使用的是具有网络的yum功能 (3)配置centos防火墙,需要开启80 端口 (4)nginx 反向代理配置 (5)性能优化设置(后续工作...) </code>
一. yum安装nginx
先添加nginx源,测试使用最新的nginx 1.8.0
<code>rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm </code>
执行命令:
<code>yum install nginx service nginx start </code>
如果不出意外,在浏览器输入 127.0.0.1:80,即可看到nginx的欢迎界面。
二.查看nginx的配置
<code>rpm -ql nginx 此命令可以查看nginx的配置信息 </code>
三. 关闭firewall并配置iptables
centos默认使用firewall配置端口和网络,但是现在网上资料多是使用iptables,鉴于资料充分的原因,改用iptalbes。
使用iptables和ip6tables的静态防火墙规则
如果你想使用自己的 iptables 和 ip6tables 静态防火墙规则, 那么请安装 iptables-services 并且禁用 firewalld ,启用 iptables 和ip6tables:
<code>yum install iptables-services systemctl mask firewalld.service systemctl enable iptables.service systemctl enable ip6tables.service </code>
启用iptables后,就需要进行端口和访问规则的设置了。
<code>(1)编辑 /etc/sysconfig/iptables (2)清空规则 (3)添加需要的规则 </code>
示例:
# 允许已建立的或相关连的通行
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
#允许本地回环接口
-A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
#允许本机对外访问
-A OUTPUT -j ACCEPT
# 允许访问SSH端口,如果端口修改了可以更改相应端口号
-A INPUT -p tcp –dport 22 -j ACCEPT
#允许访问80(HTTP)端口
-A INPUT -p tcp –dport 80 -j ACCEPT
#允许访问FTP端口:21、20
-A INPUT -p tcp –dport 21 -j ACCEPT
-A INPUT -p tcp –dport 20 -j ACCEPT
#允许访问161(SNMP)端口:
-A INPUT -p udp –dport 161 -j ACCEPT
基于以上配置,在局域网内可以相互访问网站。
四. 配置nginx的反向代理功能
<code>本次只是使用反向代理功能,因此nginx的负载均衡功能就不涉及。 </code>
反向代理功能使用的是proxy_pass和sub_filter模块
<code>location / { proxy_pass 需要代理的IP; #Proxy Settings proxy_redirect off; 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_max_temp_file_size 0; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; # 做反向代理时候,出现ip地址直接跳转,没有是使用代理IP ,是因为需要使用sub_filter. sub_filter 需要代理的IP nginx的本机服务器; sub_filter_once off; } </code>
nginx反向代理概念相对简单,而且配置也方便,接下来要进行一下压力测试,看看实际的效果。
[1]http://www.centoscn.com/CentOS/Intermediate/2015/0313/4879.html 使用iptables
[2]http://www.centoscn.com/CentOS/2013/0413/293.html 配置iptables端口和规则
[3]http://www.nginx.cn/927.html 反向代理
[4]http://zhaochen.blog.51cto.com/2029597/379233/
[5]https://github.com/yaoweibin/ngx_http_substitutions_filter_module
[6]http://www.xxorg.com/archives/3608
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了CentOS 7 安装Nginx做反向代理,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。