標籤:

Nginx的認識及編譯安裝

當我還處於學生時代時,一大折磨便就是選課時的煩惱了,好的課基本很快都會被一搶而空,為了追求網速的我們時常做出去網吧連坐搶課的光輝事迹,我相信這樣子的事並不是個體現象而已,應該是普遍存在的,但學校還是用事實告訴了我們 too yang too simple,網站奔潰的事情實在是屢見不鮮.還有12306的春運搶票,淘寶的雙十一,伺服器崩潰實在是在容易不過了

上述場景產生的原因是什麼呢,其實也簡單,無非他們的共同點,有二

1.巨大流量

2.單台伺服器資源和能力有限

在海量並發的環境下,用戶每一次請求伺服器,都需要大量的創建線程,每一次的線程都必須分配資源(CPU、內存、帶寬、磁碟IO等),當資源不足的時候就會使得伺服器宕機而無法提供服務

於是,Nginx便應運而生了

那麼什麼是Nginx呢?

Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器.由俄羅斯的程序設計師Igor Sysoev所開發,其特點是佔有內存少,並發能力強,nginx的並發能力確實在同類型的網頁伺服器中表現非常,官方測試nginx能夠支撐5萬並發鏈接,並且CPU、內存等資源消耗卻非常低,運行非常穩定

Nginx和apache的優缺點

1.nginx相對於apache的優點:

輕量級,同樣起web 服務,比apache 佔用更少的內存及資源高並發,nginx 處理請求是非同步非阻塞(如前端ajax)的,而apache 則是阻塞型的,在高並發下nginx能保持低資源低消耗高性能高度模塊化的設計,編寫模塊相對簡單,還有,它社區活躍,各種高性能模塊出品迅速(十幾年時間發展)

2.apache 相對於nginx 的優點:

Rewrite重寫 ,比nginx 的rewrite 強大模塊超多,基本想到的都可以找到少bug ,nginx 的bug 相對較多。(出身好起步高)

3.Nginx 配置簡潔, Apache 複雜

安裝Nginx

nginx的安裝相比較於mysql而言,可以說簡單了很多.和安裝mysql差不多,首先我們的第一步是下載安裝依賴

yum -y install gcc openssl-devel pcre-devel zlib-devel

解壓文件

解壓:tar -zxvf nginx-1.8.1.tar.gz

configure配置

進入解壓後的源碼目錄,然後執行configure命令進行配置

./configure --prefix=/XX/XX/XXX (軟體安裝位置)

編譯並安裝

make && make install

安裝好後,會在/usr/soft下生成nginx目錄(這是我編譯前指定的),這個目錄就是nginx的軟體了

nginx命令

啟動命令:在sbin目錄下./nginx

啟動後,訪問虛擬機的80埠,可查看到以下界面,Nginx默認監聽80埠,當出現以上信息,說明安裝啟動成功

一旦nginx啟動,就可以通過調用帶有-s參數的可執行文件來控制它。使用語法:nginx -s 信號

信號可以是下列之一:

stop - 快速關機

quit - 優雅的關機

reload - 重新載入配置文件

reopen - 重新打開日誌文件

例如,要停止nginx進程並等待工作進程完成當前請求的服務,可以執行以下命令:nginx -s quit

配置後面再講,祝大家工作順利,開心快樂.送大家張愛玲的一句話


推薦閱讀:

nginx配置、反向代理緩存、負載均衡
nginx 雙向鏈表
PHP-FPM 解析(轉-侵刪)
nginx有哪些作用?
nginx進程狀態D

TAG:Nginx |