天天看點

nginx

yum install openssl* -y

<b>nginx</b><b>詳細配置說明</b>

本帖最後由 Duron 于 2010-1-2 11:02 編輯

#運作使用者

user nobody nobody;

#啟動程序

worker_processes 2;

#全局錯誤日志及PID檔案

error_log logs/error.log notice;

pid logs/<b>nginx</b>.pid;

#工作模式及連接配接數上限

events{useepoll;

worker_connections 1024;}#設定http伺服器,利用它的反向代理功能提供負載均衡支援

http{#設定mime類型

include conf/mime.types;

default_type application/octet-stream;

#設定日志格式

log_formatmain'$remote_addr - $remote_user [$time_local] ''"$request" $status$bytes_sent ''"$http_referer" "$http_user_agent"''"$gzip_ratio"';

log_formatdownload'$remote_addr - $remote_user [$time_local] ''"$request"$status $bytes_sent ''"$http_referer" "$http_user_agent"''"$http_range" "$sent_http_content_range"';

#設定請求緩沖

client_header_buffer_size 1k;

large_client_header_buffers 4 4k;

#開啟gzip子產品

gzipon;

gzip_min_length 1100;

gzip_buffers 4 8k;

gzip_types text/plain;

output_buffers 1 32k;

postpone_output 1460;

#設定access log

access_log logs/access.log main;

client_header_timeout 3m;

client_body_timeout 3m;

send_timeout 3m;

sendfile on;

tcp_nopush on;

tcp_nodelay on;

keepalive_timeout 65;

#設定負載均衡的伺服器清單

upstreammysvr{#weigth參數表示權值,權值越高被配置設定到的幾率越大

#本機上的Squid開啟3128端口

server192.168.8.1:3128 weight=5;

server192.168.8.2:80 weight=1;

server192.168.8.3:80 weight=6;}#設定虛拟主機

server{listen 80;

server_name 192.168.8.1 www.okpython.com;

charsetgb2312;

#設定本虛拟主機的通路日志

access_log logs/www.yejr.com.access.log main;

#如果通路 /img/*, /js/*, /css/* 資源,則直接取本地檔案,不通過squid

#如果這些檔案較多,不推薦這種方式,因為通過squid的緩存效果更好

location~ ^/(img|js|css)/ {

root /data3/Html;

expires24h;

}

#對 "/" 啟用負載均衡

location/ {

proxy_pass http://mysvr;

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;

client_max_body_size 10m;

client_body_buffer_size128k;

proxy_connect_timeout 90;

proxy_send_timeout 90;

proxy_read_timeout 90;

proxy_buffer_size 4k;

proxy_buffers 4 32k;

proxy_busy_buffers_size64k;

proxy_temp_file_write_size64k;

#設定檢視Nginx狀态的位址

location/NginxStatus {

stub_status on;

access_log on;

auth_basic "NginxStatus";

auth_basic_user_file conf/htpasswd;

備注:conf/htpasswd 檔案的内容用 apache 提供的htpasswd 工具來産生即可

檢視 Nginx 運作狀态

輸入位址http://192.168.8.1/NginxStatus/,輸入驗證帳号密碼,即可看到類似如下内容:

Activeconnections: 328

serveraccepts handled requests

93098982 28890

Reading:1 Writing: 3 Waiting: 324

第一行表示目前活躍的連接配接數

第三行的第三個數字表示Nginx運作到目前時間接受到的總請求數,如果快達到了上限,就需要加大上限值了。

第四行是Nginx的隊列狀态

<b>常用的</b><b> Nginx </b><b>參數和控制</b>

1程式運作參數

Nginx安裝後隻有一個程式檔案,本身并不提供各種管理程式,它是使用參數和系統信号機制對 Nginx 程序本身進行控制的。 Nginx 的參數包括有如下幾個:

-c&lt;path_to_config&gt;:使用指定的配置檔案而不是 conf 目錄下的nginx.conf 。

-t:測試配置檔案是否正确,在運作時需要重新加載配置的時候,此指令非常重要,用來檢測所修改的配置檔案是否有文法錯誤。

-v:顯示 nginx 版本号。

-V:顯示 nginx 的版本号以及編譯環境資訊以及編譯時的參數。

例如我們要測試某個配置檔案是否書寫正确,我們可以使用以下指令

sbin/nginx– t – c conf/nginx2.conf

2通過信号對 Nginx 進行控制

Nginx支援下表中的信号:

信号名作用描述

TERM,INT快速關閉程式,中止目前正在處理的請求

QUIT處理完目前請求後,關閉程式

HUP重新加載配置,并開啟新的工作程序,關閉就的程序,此操作不會中斷請求

USR1重新打開日志檔案,用于切換日志,例如每天生成一個新的日志檔案

USR2平滑更新可執行程式

WINCH從容關閉工作程序

有兩種方式來通過這些信号去控制 Nginx,第一是通過logs 目錄下的nginx.pid 檢視目前運作的Nginx 的程序ID,通過 kill – XXX&lt;pid&gt; 來控制Nginx,其中XXX 就是上表中列出的信号名。如果您的系統中隻有一個 Nginx 程序,那您也可以通過 killall 指令來完成,例如運作 killall – s HUP nginx 來讓 Nginx 重新加載配置。

上一篇: Nginx
下一篇: radio預設值

繼續閱讀