nginx:Nginx是一種軟件服務器(輕量級),故它最主要的功能就是可以與服務器硬件結合,我們的應用程序可以放在nginx服務器上進行發布,已達到讓網民浏覽的效果。除此自外,Nginx是一種高性能的Http和反向代理服務器,同時也是一個代理郵件服務器。也就是說nginx可以發布網站,也可以實現負載均衡的功能,還可以作為郵件服務器實現收發郵件的功能。Nginx支持處理百萬級的TCP連接,10以上的並發連接,具有跨平台性。
負載均衡(Load Balance):負載均衡建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據 處理能力、提高網絡的靈活性和可用性。負載均衡有兩方面的含義:首先,大量的並發訪問或數據流量分擔到多台節點設備上分別處理,減少用戶等待響應的時間;其次,單個重負載的運算分擔到多台節 點設備上做並行處理,每個節點設備處理結束後,將結果匯總,返回給用戶,系統處理能力得到大幅度提高。
Nginx在 Linux中的效率較window高。
缺點:rewrite功能不夠強大,沒有Apache模塊多。
Rewrite:是一種服務器的重寫技術,它可以使得服務器可以支持 URL 重寫,是一種最新流行的服務器技術。它還可以實現限制特定IP訪問網站的功能。
1、下載nginx-1.8.1.tar.gz
2、解壓 tar -zxvf nginx-1.8.1.tar.gz
3、進入nginx-1.8.1 目錄下 然後./configure 會出現錯誤 ./configure: error: C compiler cc is not found
這是因為缺少一個 關於 gc++庫
4、安裝這個庫文件
(a)、進入root權限
(b)、安裝gc++庫 yum -y install gcc gcc-c++ autoconf automake
(c)、出現Complete!表示安裝成功
5、再次進入 nginx-1.8.1目錄下執行 ./configure 提示 ./configure: error: the HTTP rewrite module requires the PCRE library. (缺少PCRE library這個庫文件)
6、安裝PCRE library庫 進入root權限 執行 yum -y install pcre pcre-devel 出現Complete!表示安裝成功
7、再次進入 nginx-1.8.1目錄下執行 ./configure 提示 ./configure: error: the HTTP gzip module requires the zlib library.(缺少zlib library庫)
8、安裝zlib library庫 進入root權限 執行 yum -y install zlib zlib-devel 出現Complete!表示安裝成功
9、再次進入 nginx-1.8.1目錄下執行 ./configure 出現下圖所示表示安裝成功
10、執行命令 make 出現 make[1]: Leaving directory `/webserver/nginx-1.8.1' 表示make完成了
11、執行命令 make install 出現 make[1]: Leaving directory `/webserver/nginx-1.8.1' 表示nginx安裝完成
12、查看是否搭建成功 進入 usr/local 目錄下查看是否有nginx目錄 存在就表示安裝成功。
conf: nginx 的配置信息
html: 網頁程序
logs:日志
sbin:nginx的應用程序,比如 啟動程序就在這裡面
1、nginx的啟動:可執行文件路徑+ -c +配置文件全路徑(nginx.conf)
[root@iZ28b4kreuaZ sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2、nginx的停止
(a)、從容停止給與停止緩沖時間
通過殺死進程停止 kill -QUIT + 主進程號
查看進程:ps -ef|grep nginx
從容停止:kill -QUIT 2072
(b)、強制停止 不管nginx能否停止就強行停止它
pkill -9 nginx
(c)、快速停止
kill -TERM +主進程號 kill -TERM 2132
3、重啟
方法一、(a)、驗證配置文件是否正確
方式一、進入可執行文件目錄(sbin)下 執行 ./nginx -t
方式二、/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
(b)、進入可執行文件目錄(sbin)下 ./nginx -s reload
方法二、kill -HUP +主進程號 例:kill -HUP 2255
4、關閉工作進程
如何關閉 worker process 進程
kill -WINCH +工作進程號
5、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
6、觀察進程變化
在平滑升級中可以通過執行命令 ps -ef|grep nginx 觀察進程變化。