Nginx 編譯安裝

Nginx (“engine x”) 是一個高性能的 HTTP 反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服

1、Apache服務器和nginx的優缺點:

Apache具有很優秀的性能,而且通過模塊可以提供各種豐富的功能。
1)首先Apache對客戶端的響應是支持并發的 ,運行httpd這個daemon進程之后,它會同時產生多個子進程/線程,每個子進程/線程分別對客戶端的請求進行響應;

Apache兩種工作模式:prefork模式與worker模式

prefork每個子進程只有一個線程,效率高但消耗內存大。worker模式每個子進程有多個線程,內存消耗低,但一個線程崩潰會牽連其它同子進程的線程。
2)另外,Apache可以提供靜態和動態的服務 ,例如對于PHP的解析不是通過性能較差的CGI實現的而是通過支持PHP的模塊來實現的(通常為mod_php5,或者叫做apxs2)
3)缺點:
因此通常稱為Apache的這種Serverprocess-based server ,也就是基于多進程的HTTPServer,因為它需要對每個用戶請求創建一個子進程/線程進行響應;
這樣的缺點是,如果并發的請求非常多(這在大型門戶網站是很常見的)就會需要非常多的線程,從而占用極多的系統資源CPU和內存。因此對于并發處理不是Apache的強項。
4)解決方法:
目前來說出現了另一種WebServer,在并發方面表現更加優越,叫做異步服務器。最有名的為NginxLighttpd。所謂的異步服務器是事件驅動程序模式的event-driven,除了用戶的并發請求通常只需要一個單一的或者幾個線程。因此占用系統資源就非常少。這幾種又被稱為lightweight web server。舉例,對于10,000的并發連接請求,nginx可能僅僅使用幾M的內存;而Apache可能需要使用幾百M的內存資源。
nginxApache類似都通過各種模塊可以對服務器的功能進行豐富的擴展,同樣都是通過conf配置文件對各種選項進行配置。對于PHP等,nginx沒有內置的模塊來對PHP進行支持,而是通過FastCGI來支持的。
nginx則沒有自己提供處理PHP的功能,需要通過第三方的模塊來提供對PHP進行FastCGI方式的集成。

Nginx專為性能優化而開發,其最知名的優點是它的穩定性和低系統資源消耗,以及對HTTP并發連接的高處理能力(單臺物理服務器可支持3000050000個并發請求)。正因為如此,大量提供社交網站、新聞資訊、電子商務以及虛擬主機等服務的企業紛紛選擇Ngnix來提供WEB服務。

2、Nginx的安裝及運行控制:

目前Nginx的最新穩定版本為1.0.8,開發版本為1.1.6,其安裝文件可以從官方網站http://www.nginx.org下載,下面以穩定版為例,介紹nginx的安裝和運行控制。

編譯安裝Nginx

1)安裝支持軟件:

Nginx的配置及運行需要pcre、zlib等軟件包的支持,因此應預先安裝這些軟件的開發包(devel),以便提供相應的庫和頭文件,確保Nginx的安裝順利完成。

1.png

2)創建運行用戶、組:

Nginx服務程序默認以nobody身份運行,為其創建專門的用戶賬號,以便更準確地控制其訪問權限,增加靈活性、降低安全風險。如:創建一個名為nginx的用戶,不建立宿主目錄,也禁止登錄到shell環境。

2.png

3)編譯安裝nginx

釋放nginx源碼包

3.png

編譯前配置:

4.png

注:配置前可以參考:./configure  –help給出說明

–prefix:設定Nginx的安裝目錄

–user—group:指定Nginx運行用戶和組

–with-http_stub_status_module:啟用http_stub_status_module模塊以支持狀態統計

編譯:

5.png

安裝:

6.png

至此Nginx安裝完成,為了使Nginx服務器的運行更加方便,可以為主程序nginx創建鏈接文件,以便管理員直接執行nginx命令就可以調用Nginx的主程序。

7.png

Nginx的運行控制:

apache的主程序httpd類似,Nginx的主程序也提供了”-t”選項用來對配置文件進行檢查,以便找出不當或錯誤的配置。配置文件nginx.conf默認位于安裝目錄下的conf/子目錄中。若要檢查位于其他位置的配置文件,可使用”-c”選項來指定路徑。

8.png

啟動、停止Nginx

直接運行nginx即可啟動Nginx服務器,這種方式將使用默認的配置文件,若要改用其他配置文件,需添加”-c  配置文件路徑選項來指定路徑。需要注意的是,若服務器中已安裝有httpd等其他WEB服務軟件,應采取措施避免部突。

9.png

通過檢查 Nginx程序的監聽狀態,或者在瀏覽器中訪問此WEB服務(默認頁面將顯示“Welcome to nginx!”),可以確認Nginx服務是否正常運行。

或使用elinks瀏覽器(需安裝elinks軟件包。yum  -y install  elinks

注意:要在防火墻上允許80端口的通信。

停止Nginx服務:

#Killall  -9  nginx

Nginx進程運行時,PID號默認存放在logs/目錄下的nginx.pid文件中,因此若改用kill命令,也可以根據nginx.pid文件中的PID號來進行控制。

為了使Nginx服務的啟動、停止、重載等操作更加方便,可以編寫Nginx服務腳本,并使用chkconfigservice工具來進行管理,也更加符合管理習慣。

腳本內容如下:

13.png

通過killkillall命令發送HUP信號表示重載配置, 用新的配置開始新的工作進程

關閉舊的工作進程。QUIT信號表示退出進程,KILL信號表示殺死進程。通過”-s”選項指定信號種類。

添加為系統服務。

14.png

這樣一來,就可以通過nginx腳本來啟動、停止、重啟、重載Nginx服務器了。

原創文章,作者:Anhur,如若轉載,請注明出處:http://www.www58058.com/67595

(0)
AnhurAnhur
上一篇 2017-02-05
下一篇 2017-02-06

相關推薦

  • 博客作業-N22第二周

    1、linux上的文件管理類命令都有那些,其常用的使用方法及其相關示例演示。 答: cp 復制文件 [root@localhost network-scripts]# cp ifcfg-eno16777736 ifcfg-eno.bak [root@localhost network-scripts]# ls ifcfg-eno16777736  …

    Linux干貨 2016-08-22
  • Linux下chomd修改文件或目錄權限

    文件或目錄權限分為三個字段 以/tmp為例ll后可看到權限為:     drwxrwxrwt 第一d為文件類型 Linux下的文件類型     -:普通文件     d:目錄文件     b:塊設備  &nbs…

    Linux干貨 2016-02-28
  • 關于文件系統備份、交換分區掛載等–中

    dd命令:convert and copy a file 用法: dd if=/PATH/FROM/SRC of=/PATH/TO/DEST  bs=#:block size, 復制單元大小 count=#:復制多少個bs  of=file 寫到所命名的文件而不是到標準…

    Linux干貨 2016-08-29
  • 基于lvs調度的web應用——Discuz程序

    實驗環境: 前端主機:10.1.43.101 后端主機1:172.16.0.9   作為lvs-dr的調度器,并且提供mysql和nfs文件共享 后端主機2:172.16.0.2   作為ap服務器之一 后端主機3:172.16.0.3   作為ap服務器之一 實驗拓撲: 后端主機1: [root@node3…

    Linux干貨 2016-10-26
  • FHS文件結構

    我們在前面學習的過程中有了解到,linux的發現版有很多種類型,那么如果每個版本都有著自己的想法去配置文件應該放置的目錄,那么將造成管理上的困擾,于是為了解決這個問題,就有了FHS標準。 1.1 FHS 結構 1.1.1 軟件的概念 之前,我們提到過,一個完整的計算機系統應該有兩部分組成,即:計算機系統=軟件+硬件。沒有軟件的硬件,計算機只不過是一堆只會發熱…

    Linux干貨 2016-10-27
  • 初識文件系統和軟硬鏈接

    什么是文件系統?         磁盤分區以后必須設置磁盤的文件系統才可以正式使用,文件系統定義了文件存儲的類型,也就是這個文件要按照怎樣的方式存入磁盤分區。         linux中文件系統的類…

    2017-07-20
欧美性久久久久