標籤:安裝 centos nginx
在我剛安裝好的centos上安裝nginx。我採用下載nginx的原始碼進行編碼安裝。
安裝時會出錯,主要是缺少一些庫,或是雖然有些庫已經安裝,但不是開發版的缺少相應模組。
1、下載nginx,並解壓,進入nginx目錄後,運行
./configure --with-http_stub_status_module --prefix=/usr/local/nginx
其中:
--prefix=PATH # 指定安裝目標路徑
--with-http_stub_status_module # 開啟http的狀態監控
2. 在configure階段會報錯,發現缺少下面模板:
gcc
PCRE
zlib
openssl
安裝相應的開發版,安裝前先更新一下本地庫。
yum update # 更新本地庫
yum install gcc
yum install pcre-devel
yum install zlib-devel
yum install openssl-devel
安裝後再進行configure,看是否成功
3. 在nginx目錄下 make,沒報錯後 make install
4. 因為我對nginx配置還不是很熟悉,暫時不講配置,以後瞭解後會補充。使用預設的設定檔,啟動nginx。
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
如果運行成功的話,用命令 netstat -antlp | grep nginx 可以看到 nginx偵聽tcp 80連接埠。
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1440/nginx
5. 在centos 終端裡用運行 wget http://127.0.0.1/ , 看是否能擷取到 index.html 頁面。再在其他機器上通過命令列運行wget或瀏覽器輸入 http://xxx.xxx.xxx.xxx/ 訪問nginx,看是否成功,如不成功,可能是防火牆的原因。
因為centos下會有預設的防火牆策略來禁止外部機器訪問,需要修改防火牆策略,修改設定檔 /etc/sysconfig/iptables,增加允許外部存取80連接埠的許可權:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
此配置意思是:
-A: 增加一條策略
INPUT:對於輸入資料流量
-m state --state NEW:進行狀態匹配,資料包是一個新的串連上的資料包。
-m tcp -p tcp --dport 80:進行tcp匹配,協議是tcp,目標連接埠號碼為 80 連接埠
-j: 匹配成功後,採用動作是允許資料包通過
我現在的防火牆設定檔如下:
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
至此,我的nginx伺服器已經正常運行了。雖然目前還沒能運行php,也還缺少常用的模組,不過至少能正常運行,以後需要的模組以後再加。
本文出自 “chhquan” 部落格,請務必保留此出處http://chhquan.blog.51cto.com/1346841/1791524
centos安裝nginx