nginx:Nginx是一種軟件服務器(輕量級),故它最主要的功能就是能夠與服務器硬件結合,咱們的應用程序能夠放在nginx服務器上進行發佈,已達到讓網民瀏覽的效果。除此自外,Nginx是一種高性能的Http和反向代理服務器,同時也是一個代理郵件服務器。也就是說nginx能夠發佈網站,也能夠實現負載均衡的功能,還能夠做爲郵件服務器實現收發郵件的功能。Nginx支持處理百萬級的TCP鏈接,10以上的併發鏈接,具備跨平臺性。html
負載均衡(Load Balance):負載均衡創建在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增長吞吐量、增強網絡數據 處理能力、提升網絡的靈活性和可用性。負載均衡有兩方面的含義:首先,大量的併發訪問或數據流量分擔到多臺節點設備上分別處理,減小用戶等待響應的時間;其次,單個重負載的運算分擔到多臺節 點設備上作並行處理,每一個節點設備處理結束後,將結果彙總,返回給用戶,系統處理能力獲得大幅度提升。nginx
Nginx在 Linux中的效率較window高。c++
缺點:rewrite功能不夠強大,沒有Apache模塊多。web
Rewrite:是一種服務器的重寫技術,它可使得服務器能夠支持 URL 重寫,是一種最新流行的服務器技術。它還能夠實現限制特定IP訪問網站的功能。服務器
一、下載nginx-1.8.1.tar.gz
二、解壓 tar -zxvf nginx-1.8.1.tar.gz
三、進入nginx-1.8.1 目錄下 而後./configure --prefix=/usr/local/nginx 會出現錯誤 ./configure: error: C compiler cc is not found
這是由於缺乏一個 關於 gc++庫
四、安裝這個庫文件
(a)、進入root權限
(b)、安裝gc++庫 yum -y install gcc gcc-c++ autoconf automake
(c)、出現Complete!表示安裝成功
五、再次進入 nginx-1.8.1目錄下執行 ./configure 提示 ./configure: error: the HTTP rewrite module requires the PCRE library. (缺乏PCRE library這個庫文件)
六、安裝PCRE library庫 進入root權限 執行 yum -y install pcre pcre-devel 出現Complete!表示安裝成功
七、再次進入 nginx-1.8.1目錄下執行 ./configure 提示 ./configure: error: the HTTP gzip module requires the zlib library.(缺乏zlib library庫)
八、安裝zlib library庫 進入root權限 執行 yum -y install zlib zlib-devel 出現Complete!表示安裝成功
九、再次進入 nginx-1.8.1目錄下執行 ./configure 出現下圖所示表示安裝成功網絡
十、執行命令 make 出現 make[1]: Leaving directory `/webserver/nginx-1.8.1' 表示make完成了
十一、執行命令 make install 出現 make[1]: Leaving directory `/webserver/nginx-1.8.1' 表示nginx安裝完成
十二、查看是否搭建成功 進入 usr/local 目錄下查看是否有nginx目錄 存在就表示安裝成功。併發
conf: nginx 的配置信息
html: 網頁程序
logs:日誌
sbin:nginx的應用程序,好比 啓動程序就在這裏面負載均衡
一、nginx的啓動:可執行文件路徑+ -c +配置文件全路徑(nginx.conf)
[root@iZ28b4kreuaZ sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
二、nginx的中止
(a)、從容中止給與中止緩衝時間
經過殺死進程中止 kill -QUIT + 主進程號
查看進程:ps -ef|grep nginx
從容中止:kill -QUIT 2072
(b)、強制中止 無論nginx可否中止就強行中止它
pkill -9 nginx
(c)、快速中止
kill -TERM +主進程號 kill -TERM 2132
三、重啓
方法1、(a)、驗證配置文件是否正確
方式1、進入可執行文件目錄(sbin)下 執行 ./nginx -t
方式2、/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
(b)、進入可執行文件目錄(sbin)下 ./nginx -s reload
方法2、kill -HUP +主進程號 例:kill -HUP 2255
四、關閉工做進程
如何關閉 worker process 進程
kill -WINCH +工做進程號
五、Nginx的平滑升級
(1)升級就是升級nginx版本
平滑升級:在升級時不會停掉在運行着的進程,這些進程會繼續處理已接收的請求,但不會再接受新的請求,等這些老進程在處理完還在處理的請求後,就中止。此平滑升級的過程當中,新開的進程會被處理。
強制升級:中止服務器,進行升級,這樣在運行中的進程就被影響了。
(2) 若是平滑升級
(a)、查看當前版本 sbin目錄下 執行 ./nginx -V
(b)、將要升級後的版本下載到本地 nginx-1.9.2.tar.gz 解壓後 進入nginx-1.9.2目錄下執行 ./configure 再執行 make (千萬不要再執行再 make install)
(c)、將nginx-1.9.2/objs/目錄下的 可執行文件(nginx) 複製到 /usr/local/nginx/sbin/目錄下(在複製前將老版本的ngin文件備份 例如:cp nginx nginx.old; nginx.old就是備份的文件)。
(d)、在/nginx-1.9.2/ 目錄下執行復制 cp -rfp objs/nginx /usr/local/nginx/sbin
(e)、刪除升級版本的文件 nginx-1.9.2 和 nginx-1.9.2.tar.gz
六、觀察進程變化
在平滑升級中能夠經過執行命令 ps -ef|grep nginx 觀察進程變化。性能