首頁 >後端開發 >php教程 >CentOS 7 安裝Nginx做反向代理

CentOS 7 安裝Nginx做反向代理

WBOY
WBOY原創
2016-07-30 13:31:191206瀏覽

題記

需要使用nginx的反向代理功能,測試環境為centos+NGINX 1.8.0.

<code>跳过一些繁琐的问题,直接记录核心
</code>

步驟

<code>(1)centos 安装在VM中,因此需要注意网络连接问题
(2)安装nginx使用的是具有网络的yum功能
(3)配置centos防火墙,需要开启80 端口
(4)nginx 反向代理配置
(5)性能优化设置(后续工作...)
</code>

實現

一.yum安裝

<code>rpm -ivh  http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 
</code>
實現

先加入nginx來源,測試使用最新的nginx 1.8.0

<code>yum install nginx
service nginx start
</code>
執行指令:

<code>rpm -ql nginx
此命令可以查看nginx的配置信息
</code>
如果不出意外,在瀏覽器輸入 127.0.0.1:80,即可看到nginx的歡迎介面。

二.查看nginx的配置

<code>yum install iptables-services
systemctl mask firewalld.service
systemctl enable iptables.service
systemctl enable ip6tables.service
</code>
三. 關閉firewall並配置iptables

centos默認使用firewall配置端口和網絡,但是現在網上資料多是使用iptables,鑑於資料充分的原因,改用iptalbes。

使用iptables和ip6tables的靜態防火牆規則

如果你想使用自己的 iptables 和 ip6tables 靜態防火牆規則, 那麼請安裝 iptables-services 並且禁用 firewalld ,啟用 iptables 和ip6tables:

<code>(1)编辑  /etc/sysconfig/iptables
(2)清空规则
(3)添加需要的规则
</code>
啟用iptables後,就需要進行端口和訪問規則的設定了。
<code>本次只是使用反向代理功能,因此nginx的负载均衡功能就不涉及。
</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>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>

反向代理功能使用的是proxy_pass和sub_filter模組

rrreee

總結:

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教程有興趣的朋友有所幫助。 🎜 🎜 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn