一,nginx 簡介:
1,nginx是一款優秀的web服務軟體,他的優點是方便,簡單,靈活,是一款極具發展潛力的web伺服器。
2,nginx是乙個開源的,支援高效能,高併發的www服務和**服務軟體
3,nginx具有三大功能(服務)
(1)可以充當web伺服器。(作為web服務軟體)
(2)還可以充當負載均衡 。(反向**或負載均衡服務) web伺服器前邊就是負載均衡
(3)還可以當快取伺服器。(前端業務資料快取服務)就做乙個web快取視屏靜態快取
4,特點:是支援高併發,對靜態的處理非常好。 記憶體儲存占用小。
(1),nginx很好用很小,但是越這樣的越難開發,它是通過一種叫非同步i/o事件模型來實現的。叫做epoll
nginx是通過epoll模型來實現的外部服務。
(2),nginx總體效能要高於apache,因為nginx承接單個使用者需要的系統資源少,所以從併發來說,nginx要比apache有更大的併發量。(如果只作為web伺服器來說中小企業用的nginx更多一些,大企業區域性是nginx)
(3), apache 用的是select模型, 這是同步io網路模型 (使用者太多了受不了,為什麼大企業還用呢? 使用負載均衡,就是新增apache數量。)、
apache 處理的連線數最多不超過1024個。(而且要從新編譯)
nginx 用的是epoll模型 ,這是非同步網路i/o模型(隨著使用者的增加,效能上基本沒有變化,效能很好。)
nginx 處理的連線數是無限制
顯然開發epoll模型比較難, select開發比較簡答
5,同步i/o,非同步i/o
(1),程序產生的執行緒,執行緒是幹活的。
(2),國內的遊戲之所以垃圾,其都是單執行緒,只能幹一件事,並且速度有i/o阻塞。
(3),單執行緒和多執行緒都叫同步阻塞i/o模型,必須一件事一件事幹,同步就是這一件事沒幹完前,就得等它。這就是select模型
(4)非同步i/o模型也叫非阻塞模型。就是nginx的epoll模型。
nginx可以啟很多執行緒,每個執行緒能幹無數個事
(5)非同步就是在單執行緒內開啟多個服務,乙個未完成不用等,開啟另乙個,同一時間可以幹多件事。這就是非同步i/o模型的原理。
二,編譯nginx
1,(1)從桌面把nginx(nginx-1.10.2.tar.gz)包放在root下
(2)先安裝支援包。 用yum安裝(別忘掛盤)
(3)#yum -y install pcre-devel openssl-devel
這兩個支援包必須有pcre-devel和openssl-devel
(4)# tar xf nginx-1.10.2.tar.gz -c /usr/src
解壓這個檔案包(nginx-1.10.2.tar.gz)指定放在/usr/src 下
之後過去
#cd /usr/src/nginx-1.10.2/
(5)先建立乙個程式使用者#useradd –s /sbin/nologin –m www
使用者名稱是www建立在了/sbin/nologin目錄下,不能shell登入此使用者。
(6)先安裝編譯支援軟體
#yum –y install gcc gcc-c++ make automake
然後開始編譯#
(7)然後編譯安裝
#make
&& make install
(8)#cd /usr/local/nginx/
進入ls裡邊有四個目錄
conf(配置檔案) html(網頁目錄) logs(日誌)
sbin(系統管理員使用的管理程式)
(/usr/local下一般是你安裝軟體的目錄)
(9)#cd
conf/ 先進入conf目錄.
#ls看一下。
nginx.conf這就是配置檔案。
nginx.conf.default和它的備份。
這個檔案裡邊裝的都是**型別。
(10)現在開始配置nginx.conf檔案
首先看下nginx.conf檔案內多少行
#cat nginx.conf | wc –l
之後去掉內容的#號和 空格 從它的預設備份檔案寫回到配置檔案
這行可以先暫時去掉這是報錯頁面。
就這18行就可以搭載web服務了。
(12)接下來一行一行的認識下。
1worker_processes 1; → nginx工作的程序個數
這是1個
(13)什麼叫做連線保持如tcp三次握手,過程中斷了這程序結束,但連續保持就是tcp連線保持還在建立著我等你再發請求,就不用頻繁建立三次握手了,這樣節約系統資源,要不然伺服器老得跟我進行三次握手對伺服器是個損耗。所以這個功能在伺服器遭遇大併發時開啟,這樣就可以降低三次握手帶來的成本消耗。阿帕奇因為他的接待能力太低了有可能就要關。 nginx 第9行這不用關。
nginx安裝與配置詳解
目錄 一 安裝nginx 二 使用nginx 簡單與單台tomcat整合 三 詳細使用 nginx就是去配置其檔案而已 如下所示 2 進行安裝 tar zxvf nginx 1.6.2.tar.gz yum install pcre yum install pcre devel yum instal...
nginx安裝與配置詳解
概念 靜態網頁 靜態一般是跟後端資料庫不發生互動的網頁,其網頁內容很少更新或者幾乎不更新,網頁檔案字尾命名通常是以.htm,html,xml等結尾的。動態網頁 動態網頁一般是後端資料庫發生互動的網頁,其網頁內容經常更新或者隨著後端資料庫內容變化而更新,網頁檔案字尾命通常是.asp jsp php 等...
Nginx安裝詳解
首先關閉防火牆和selinux centos 7.0預設使用的是firewall作為防火牆 systemctl stop firewalld.service 停止firewall systemctl disable firewalld.service 禁止firewall開機啟動 我使用的環境是64...