Nginx服務器之基礎學習

 

1、Nginx介紹

nginxNginx是一種軟件服務器(輕量級),故它最主要的功能就是能夠與服務器硬件結合,咱們的應用程序能夠放在nginx服務器上進行發佈,已達到讓網民瀏覽的效果。除此自外,Nginx是一種高性能的Http和反向代理服務器,同時也是一個代理郵件服務器。也就是說nginx能夠發佈網站,也能夠實現負載均衡的功能,還能夠做爲郵件服務器實現收發郵件的功能。Nginx支持處理百萬級的TCP鏈接,10以上的併發鏈接,具備跨平臺性。html

負載均衡(Load Balance):負載均衡創建在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增長吞吐量、增強網絡數據 處理能力、提升網絡的靈活性和可用性。負載均衡有兩方面的含義:首先,大量的併發訪問或數據流量分擔到多臺節點設備上分別處理,減小用戶等待響應的時間;其次,單個重負載的運算分擔到多臺節 點設備上作並行處理,每一個節點設備處理結束後,將結果彙總,返回給用戶,系統處理能力獲得大幅度提升。nginx

Nginx在 Linux中的效率較window高。c++

缺點:rewrite功能不夠強大,沒有Apache模塊多。web

Rewrite是一種服務器的重寫技術,它可使得服務器能夠支持 URL 重寫,是一種最新流行的服務器技術。它還能夠實現限制特定IP訪問網站的功能。服務器

2、Nginx在Centos下的安裝

一、下載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目錄 存在就表示安裝成功。
併發

2、nginx下各個目錄的做用

 

conf: nginx 的配置信息
html: 網頁程序
logs:日誌
sbin:nginx的應用程序,好比 啓動程序就在這裏面負載均衡

3、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 觀察進程變化。
性能

相關文章
相關標籤/搜索