標籤:nginx centos yum
題記
需要使用nginx的反向 Proxy功能,測試環境為centos+NGINX 1.8.0.
跳過一些繁瑣的問題,直接記錄核心
步驟
(1)centos 安裝在VM中,因此需要注意網路連接問題(2)安裝nginx使用的是具有網路的yum功能(3)配置centos防火牆,需要開啟80 連接埠(4)nginx 反向 Proxy配置(5)效能最佳化設定(後續工作...)
實現
一. yum安裝nginx
先添加nginx源,測試使用最新的nginx 1.8.0
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
執行命令:
yum install nginxservice nginx start
如果不出意外,在瀏覽器輸入 127.0.0.1:80,即可看到nginx的歡迎介面。
二.查看nginx的配置
rpm -ql nginx此命令可以查看nginx的配置資訊
三. 關閉firewall並配置iptables
centos預設使用firewall配置連接埠和網路,但是現在網上資料多是使用iptables,鑒於資料充分的原因,改用iptalbes。
使用iptables和ip6tables的靜態防火牆規則
如果你想使用自己的 iptables 和 ip6tables 靜態防火牆規則, 那麼請安裝 iptables-services 並且禁用 firewalld ,啟用 iptables 和ip6tables:
yum install iptables-servicessystemctl mask firewalld.servicesystemctl enable iptables.servicesystemctl enable ip6tables.service
啟用iptables後,就需要進行連接埠和訪問規則的設定了。
(1)編輯 /etc/sysconfig/iptables(2)清空規則(3)添加需要的規則
樣本:
# 允許已建立的或相關連的通行
-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的反向 Proxy功能
本次只是使用反向 Proxy功能,因此nginx的負載平衡功能就不涉及。
反向 Proxy功能使用的是proxy_pass和sub_filter模組
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;# 做反向 Proxy時候,出現ip地址直接跳轉,沒有是使用代理IP ,是因為需要使用sub_filter.sub_filter 需要代理的IP nginx的本機伺服器;sub_filter_once off; }
總結:
nginx反向 Proxy概念相對簡單,而且配置也方便,接下來要進行一下壓力測試,看看實際的效果。
[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 反向 Proxy
[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做反向 Proxy