Nginx虛擬主機配置


一、Nginx的編譯安裝

   #yum -y install pcre-devel openssl-devel   安裝依賴包

  下載軟件源碼包

  #tar xf nginx-1.10.2.tar.gz -C /usr/src   解壓縮包

  useradd -s /sbin/nologin -M www  創建程序用戶www

  cd /usr/src/nginx-1.10.2    進入解壓目錄  

  ./confingure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

  http_stub_status_module  記錄nginx基本訪問狀態信息等的模塊   http_ssl_module  用於加密的http連接

  make && make install   編譯安裝

  ln -s /usr/local/nginx/sbin/* /usr/local/sbin    創建軟連接

  /usr/local/nginx/sbin/nginx      啟動nginx

 

二、Nginx的主配置文件./nginx/conf/nginx.conf

 1、 主配置文件的核心框架

  

 

 

全局配置指令

 

User                    

配置worker進程的用戶用戶組

Worker_processes

指定worker進程啟動的數量,這些進程用於處理客戶的所有連接。其數量選擇取決於服務器環境、磁盤子系統及網絡基礎設備。一般與CPU綁定的負載處理器核心的數量相同,並以1.5~2.0乘以這個數作為I/O密集型負載

Error_log

是所有錯誤寫入的文件,如果在其他區段沒有設置該參數,那么這個日志 文件將記錄所有的錯誤。

pid

記錄主進程ID的文件,這個設置將會覆蓋編譯時的默認配置。

use

用於指示使用什么樣的連接方式。這個設置將會覆蓋編譯時的默認配置。

Worker_connections

配置一個工作進程能夠接受並發連接的最大數。

 

  2、Nginx的虛擬主機類型及配置實戰

    這里的“主機”是指主配置文件中的server塊對外提供的虛擬主機,每一個server塊代表一個虛擬主機,以“域名”、“IP”、“端口號”做區分,虛擬主機可以分為與之相對應的三種類型。

  2.1 基於域名的虛擬主機

  配置不同域名的虛擬主機

  

  修改配置文件后檢查配置文件,並重啟Nginx服務

  

  創建網頁目錄與網站的首頁文件

  mkdr -p /usr/local/nginx/html/server1/local1

       

  

 

 添加本地映射,curl訪問測試

  

  

  在本地PC添加映射瀏覽器訪問

    

  

   

  

 

 三、Nginx Locations 代碼塊

  Locations 定義如下:

    locations [modifier] urii {...}

  當一個請求進入時,uri 會被檢測匹配一個最佳的locations(下表中的修飾符(modifier)會影響locationds的處理)。

順序

匹配標識的location

匹配說明

1

" location = / { "

精確匹配

2

" location ^~ /images/ { "

先進行字符串的前綴匹配,如果匹配到就不做正則匹配檢查

3

" loction ~* \.(gif | jpg | jpeg)$ { "

正則匹配,*為不區分大小寫

4

" location /documents/ { "

匹配常規字符串,模糊匹配,如果有正則檢查,正則優先

5

" location / { "

所有location都不能匹配后的默認匹配原則

  一般,當一個請求進入時,會與所有locations進行匹配,首先會進行精確匹配,若匹配不成功,將會進行字符串的前綴匹配,依次進行正則匹配、匹配常規字符串模糊匹配,若以上匹配都不成功,將會執行默認匹配。

   

     

四、Nginx訪問日志輪詢切割

  默認情況下Nginx會把所有的訪問日志生成到一個指定的訪問日志文件access.log里,這樣時間長了會使得該日志太大,比便於日志的分析與處理,因此,有必要對Nginx日志,通過定時任務按規定時間進行切割,使其分成不同的文件保存。

  創建輪詢切割腳本

  

  通過定時任務每天凌晨00時執行一次腳本

       00 00 * * * /bin/bash /server/scripts/cut_nginx_log.sh >/dev/null 2>&1

  測試定時任務

   

     

  修改系統時間

  

  查看定時任務執行結果

  

 

 五、Nginx rewrite

  Nginx rewrite的主要功能也是實現URL地址重寫。Nginx的rewrite規則需要PCRE軟件的支持,即通過Perl兼容正則表達式語法進行規則匹配。默認參數編譯時,Nginx就會安裝支持rewrite的模塊,但是,也必須要有PCRE軟件的支持。

  指令語法:rewrite regex replacement 【flag】;一個簡單的URL rewrite跳轉例子:

rewrite ^/(.*) http://www.baidu.com/$1  permanent;

  rewrite為重寫參數,regex部分“^/(.*) http://www.baidu.com/$1” $1取正則()部分的值,即www, flag的值如下表:

  

 

        

     

            

六、訪問認證

  1、創建密碼文件

   # which htpasswd  如果沒有,yum安裝 #yum -y install httpd

   # htpasswd -bc /usr/local/nginx/conf/htpasswd yunjisuan 123123

        

  2、在配置文件里加入兩條配置信息

      auth_basic      "yunjisuan training"; 

          auth_basic_user_file    /usr/local/nginx/conf/htpasswd;

          

      3、重啟服務、訪問驗證

  

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM