1. 程式人生 > >Linux(Centos)環境安裝Nginx

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

如果如下圖所示,則已經安裝配置成功。
測試nginx配置
如果出現沒有許可權的情況(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也已經啟動好了。

以上,有問題再補充。