Linux(Centos)環境安裝Nginx
最近買了一臺Centos環境的伺服器,在配置Nginx的時候出現了一點點問題,經過一番查詢終於解決了問題。以下為安裝配置過程:
一、準備工作
1、Nginx的安裝依賴於以下三個包,所以在安裝前要準備好以下的三個包:
3、(通過WinSCP或其他方式)將下載好的4個包上傳至伺服器,我的上傳路徑為:/usr/local
4、安裝過程中需要使用C++編譯環境,安裝命令如下:
yum install -y gcc gcc-c++
二、安裝SSL功能需要openssl庫
1. tar -zxvf openssl-1.0.2n.tar.gz
2. cd openssl-1.0 .2n
3. ./config
4. make
5. make install
如果沒有報錯,則安裝完成
三、安裝gzip模組需要的zlib庫
1. tar -zxvf prce-8.38.tar.gz
2. cd prce-8.38
3. ./configure
4. make
5. make install
如果沒有報錯,則安裝完成
四、安裝rewrite模組需要pcre庫
1. tar -zxvf zlib-1.2.11.tar.gz
2. cd zlib-1.2.11
3. ./configure
4. make
5. make install
如果沒有報錯,則安裝完成
五、安裝 Nginx服務
1. tar -zxvf nginx-1.12.2.tar.gz
2. cd nginx-1.12.2
3. ./configure --with-pcre=../pcre-8.38/ --with-zlib=../zlib-1.2.11/ --with-openssl=../openssl-1.0.2n/
4. make
5. make install
第3步./configure後面的引數是前面安裝的三個庫的相對路徑
如果沒有報錯,則安裝完成
六、啟動Nginx
如果已經執行到這一步,則Nginx已經全部安裝完成
/usr/local /nginx/sbin/nginx -t
如果如下圖所示,則已經安裝配置成功。
如果出現沒有許可權的情況(Permission denied),則需要給檔案賦值許可權
chmod -R 777 /usr/local/nginx
啟動Nginx
/usr/local/nginx/sbin/nginx
七、檢測Nginx是否啟動成功
檢視nginx程序號及執行情況
ps -ef | grep nginx
檢視nginx程序監聽埠
netstat -ntlp | grep 80
Links是一個執行在命令列模式下的Web瀏覽器,只能檢視字元。
安裝命令:yum install links
通過linux自帶命令links 測試
links 127.0.0.1
如果出現 welcome to nginx!則說明nginx服務啟動成功
八、問題與解決方案
- 如果出現沒有許可權的情況(Permission denied),則需要給檔案賦值許可權
chmod -R 777 /usr/local/nginx
- 如果外部環境訪問不了,檢視80埠是否已經開放
可以關閉嘗試防火牆,或者更改防火牆配置
service iptables stop // 關閉防火牆
vim /etc/sysconfig/iptables // 編輯配置檔案
/etc/init.d/iptables restart // 重啟防火牆
service iptables status // 檢視防火牆狀態
- 如果防火牆已經關閉或者已經開放了80埠,但是外部環境還是訪問不了,可以看一下伺服器的安全組配置,允許80埠
九、開機自啟動Nginx
首先,rc.local是Linux啟動程式在login程式前執行的最後一個指令碼
vim /etc/rc.local
開啟/etc目錄下的rc.local之後,發現最上方有三行預設的註釋:
This script will be executed after all the other init scripts.
You can put your own initialization stuff in here if you don’t
want to do the full Sys V style init stuff.
英語不是很好,就不翻譯了,但是很明顯可以把Nginx的啟動命令新增到這裡面:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
當然也可以直接執行命令列,將啟動命令新增到/etc/rc.local
echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf" >> /etc/rc.local
重啟(shutdown -r now)之後就會發現Nginx也已經啟動好了。
以上,有問題再補充。