使用者工具

網站工具


linux:web:nginx_base

Nginx設定檔配置結構

簡單示意

vim nginx.conf

main #無括號的區域都表示全域設定
     #部份設定指令將影響其他所有的設定
events {
 #用來設定工作模式及每個工作程序的最大連接數設定
}
http{
 #對Nginx Http伺服器進行設定
 #http裡面可以有多個server區塊
upstream 自定名稱{
 #用於負載平衡
 #此區塊不一定要有
[ip_hash|fair|url_hash|round-robin] #目前Nginx只支援4種負載平衡的演算法
server ip1:port;
server ip2:port;
server ip3:port;
...
}
server{
 #用於指定主機及通訊埠
 #主機名稱或ip可用正規表示法處理
 #應用虛擬主機的設定
 #server會繼承main(全域設定)
 #server裡面可以有多個location區塊
 location / {
  #主要用於url位址比對,可以實現對動態及靜態網頁過濾處理。
  #location繼承server
  #url位址比對,可以用正規表示法處理
 }
 location ~ .*\.php${....}
 location ~ .*\.(gif|jpg|png|bmp)${....}
}

server{...}
server{...}
}

認證網頁設定

連到網站時,會出現要鍵入帳號及密碼的對話框,驗證通過才能瀏覽此網站網頁。

在Nginx設定上,只要在location區段加上auth_basicauth_basic_user_file這兩行相關參數,就可達到認證網頁的效果。詳細設定如下:

  1. 增加使用者帳號及密碼
    #htpasswd -c /usr/local/nginx/html/cgi-bin/monitor/auth user
    New password:?? (此處輸入你的密碼)
    Re-type new password:?? (再次輸入你的密碼)
  2. Nginx設定檔
    server {
            ~略~
            location /cgi-bin/ {
                gzip           off;
                root           /usr/local/nginx/html;
                fastcgi_pass   unix:/var/run/fcgiwrap.socket;
                include        fastcgi_params;
                fastcgi_index  index.cgi;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                auth_basic "LT-COUNT-TongJi";  #驗證種類
                auth_basic_user_file /usr/local/nginx/html/cgi-bin/monitor/auth; #帳號及密碼都在 auth檔案中
            }
            ~略~
    }
  3. fastcgi_params設定檔
    ~
    fastcgi_param  REMOTE_USER        $remote_user;  #增加這一段
    ~

參考資料

linux/web/nginx_base.txt · 上一次變更: 2013/07/20 19:24 (外部編輯)