當(dāng)我們舉辦nginx設(shè)置文件的時(shí)候如何才氣檢測(cè)我們做的是否正確呢?其實(shí)很簡(jiǎn)樸,下面就向各人先容有關(guān)nginx設(shè)置文件正確與否的檢測(cè)要領(lǐng)。但愿各人在今后的利用中有所收獲。
檢測(cè)nginx設(shè)置文件是否正確
/usr/local/nginx/sbin/nginx -t -c nginx.conf
-c 設(shè)置文件路徑
-g Set global directives. (version >=0.7.4)
-t 檢測(cè)文件是否正確不執(zhí)行
-v Print version.
-V Print nginx version, compiler version and configure
parameters.
編譯時(shí)假如利用了–with-debug編譯,還可以利用error_log file [ debug_core| debug_http | debug_event …] 來(lái)得到debug信息
通過(guò)信號(hào)對(duì) Nginx設(shè)置文件 舉辦節(jié)制
Nginx設(shè)置文件 支持下表中的信號(hào):
信號(hào)名 浸染描寫
TERM, INT 快速封鎖措施,中止當(dāng)前正在處理懲罰的請(qǐng)求
QUIT 處理懲罰完當(dāng)前請(qǐng)求后,封鎖措施
HUP 從頭加載設(shè)置,并開啟新的事情歷程,封鎖就的歷程,此操縱不會(huì)間斷請(qǐng)求
USR1 從頭打開日志文件,用于切換日志,譬喻天天生成一個(gè)新的日志文件
USR2 滑膩進(jìn)級(jí)可執(zhí)行措施
WINCH 從容封鎖事情歷程
有兩種方法來(lái)通過(guò)這些信號(hào)去節(jié)制 Nginx設(shè)置文件,第一是通過(guò) logs 目次下的 nginx.pid 查察當(dāng)前運(yùn)行的 Nginx 的歷程 ID,通過(guò) kill – XXX <pid> 來(lái)節(jié)制 Nginx,個(gè)中 XXX 就是上表中列出的信號(hào)名。假如您的系統(tǒng)中只有一個(gè) Nginx 歷程,那您也可以通過(guò) killall 呼吁來(lái)完成,譬喻運(yùn)行 killall – s HUP nginx 來(lái)讓 Nginx 從頭加載設(shè)置。
設(shè)置:
use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
FreeBSD利用kqueue,Linux選epoll.
worker_connections number 每個(gè)worker的最大毗連數(shù)
Maxclient = work_processes * worker_connections
nginx的upstream今朝支持4種方法的分派
1、輪詢(默認(rèn))
每個(gè)請(qǐng)求定時(shí)間順序逐一分派到差異的后端處事器,假如后端處事器down掉,能自動(dòng)剔除。
2、weight
指定輪詢幾率,weight和會(huì)見比率成正比,用于后端處事器機(jī)能不均的環(huán)境。
2、ip_hash
每個(gè)請(qǐng)求按會(huì)見ip的hash功效分派,這樣每個(gè)訪客牢靠會(huì)見一個(gè)后端處事器,可以辦理session的問題。
3、fair(第三方)
按后端處事器的響應(yīng)時(shí)間來(lái)分派請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分派。
4、url_hash(第三方)
按會(huì)見url的hash功效來(lái)分派請(qǐng)求,使每個(gè)url定向到同一個(gè)后端處事器,后端處事器為緩存時(shí)較量有效。
署理只需要在nginx設(shè)置文件中增加虛擬主機(jī),然后插手
proxy_pass http://localhost:8000;
負(fù)載平衡:只需要在http中增加
upstream tgcluster {#界說(shuō)負(fù)載平衡設(shè)備的Ip及設(shè)備狀態(tài)
ip_hash;
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
在需要利用負(fù)載平衡的server中增加
proxy_pass http://tgcluster/;
每個(gè)設(shè)備的狀態(tài)配置為:
1.down 暗示單前的server臨時(shí)不參加負(fù)載
2.weight 默認(rèn)為1.weight越大,負(fù)載的權(quán)重就越大。
3.max_fails :答允請(qǐng)求失敗的次數(shù)默認(rèn)為1.當(dāng)高出最大次數(shù)時(shí),返回proxy_next_upstream
模塊界說(shuō)的錯(cuò)誤
4.fail_timeout:max_fails次失敗后,暫停的時(shí)間。
5.backup: 其它所有的非backup呆板down可能忙的時(shí)候,請(qǐng)求backup呆板。所以這臺(tái)呆板壓力會(huì)最輕。
nginx設(shè)置文件支持同時(shí)配置多組的負(fù)載平衡,用來(lái)給不消的server來(lái)利用。
client_body_in_file_only 配置為On 可以講client
post過(guò)來(lái)的數(shù)據(jù)記錄到文件頂用來(lái)做debug
client_body_temp_path 配置記錄文件的目次 可以配置最多3層目次
location 對(duì)URL舉辦匹配.可以舉辦重定向可能舉辦新的署理 負(fù)載平衡
FASTCGI設(shè)置:
請(qǐng)將以下內(nèi)容生存為fastcgi_params文件,生存于/usr/local/nginx/conf下(Ubuntu可生存于/etc/nginx下),他為我們的FastCGI模塊配置了根基的情況變量:
#fastcgi_params
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with
–enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;請(qǐng)出格留意加粗的一行,PHP-CGI出格需要此行信息來(lái)確定PHP文件的位置。
別的需要在PHP-CGI的設(shè)置文件(Ubuntu 上此設(shè)置文件位于/etc/php5/cgi/php.ini)中,打開cgi.fix_pathinfo選項(xiàng):
cgi.fix_pathinfo=1;這樣php-cgi方能正常利用SCRIPT_FILENAME這個(gè)變量。
接下來(lái)在nginx的設(shè)置中針對(duì)php文件設(shè)置其操作FastCGI歷程來(lái)執(zhí)行:
server {
index index.php;
root /usr/local/nginx/html;
location ~ .*.php$ {
include /usr/local/nginx/conf/fastcgi_params;
#請(qǐng)按照本身生存的路徑舉辦配置
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
#請(qǐng)按照本身的FastCGI綁定的地點(diǎn)和端口舉辦設(shè)置
}
}
通知Nginx從頭載入設(shè)置:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`Ubuntu用戶可以利用init劇本:sudo /etc/init.d/nginx reload
然后啟動(dòng)php-cgi -b 127.0.0.1:9000
假如呈現(xiàn)No input file specified暗示SCRIPT_FILENAME配置的有問題。利用lighttpd的 spawn-fcgi
get http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2
#獲取Lighttpd的源碼包
tar -xvjf lighttpd-1.4.18.tar.bz2
cd lighttpd-1.4.18
./configure #編譯
make
cp src/spawn-fcgi /usr/local/bin/spawn-fcgi
#取出spawn-fcgi的措施
以上就是對(duì)nginx設(shè)置文件如何檢測(cè)的相關(guān)先容但愿各人有所收獲。
,荷蘭服務(wù)器 英國(guó)主機(jī)租用