nginx.conf配置文件結(jié)構(gòu)小結(jié)
核心配置文件的結(jié)構(gòu)
nginx.conf主要由events、http、server、location、upstream等塊配置項(xiàng)和一些行配置項(xiàng)組成。

##代碼塊中的events、http、server、location、upstream等都是塊配置項(xiàng)##
#規(guī)定哪些用戶使用,nobody的話就是所有人
#user nobody;
##Nginx worker進(jìn)程個(gè)數(shù):其數(shù)量直接影響性能。
#每個(gè)worker進(jìn)程都是單線程的進(jìn)程,他們會(huì)調(diào)用各個(gè)模塊以實(shí)現(xiàn)多種多樣的功能。如果這些模塊不會(huì)出現(xiàn)阻塞式的調(diào)用,那么,有多少CPU內(nèi)核就應(yīng)該配置多少個(gè)進(jìn)程,反之,有可能出現(xiàn)阻塞式調(diào)用,那么,需要配置稍多一些的worker進(jìn)程。
worker_processes 1;
##error日志的設(shè)置,日志默認(rèn)位置是我們?cè)趌inux上安裝nginx時(shí)配置的,也可以在下面修改。
#語(yǔ)法: error_log /path/file level;
#默認(rèn): error_log / log/error.log error;
#當(dāng)path/file 的值為 /dev/null時(shí),這樣就不會(huì)輸出任何日志了,這也是關(guān)閉error日志的唯一手段;
#leve的取值范圍是debug、info、notice、warn、error、crit、alert、emerg從左至右級(jí)別依次增大。
#當(dāng)level的級(jí)別為error時(shí),error、crit、alert、emerg級(jí)別的日志就都會(huì)輸出。大于等于該級(jí)別會(huì)輸出,小于該級(jí)別的不會(huì)輸出。
#如果設(shè)定的日志級(jí)別是debug,則會(huì)輸出所有的日志,這一數(shù)據(jù)量會(huì)很大,需要預(yù)先確保/path/file所在的磁盤(pán)有足夠的磁盤(pán)空間。級(jí)別設(shè)定到debug,必須在configure時(shí)加入 --with-debug配置項(xiàng)。
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
events {
worker_connections 1024;
}
http {
//引入mime.types文件的設(shè)置,這樣引入的方式主要是增加可讀性
include mime.types;
default_type application/octet-stream;
sendfile on;
//設(shè)置一個(gè)tcp連接最多保持多長(zhǎng)時(shí)間存活
keepalive_timeout 65;
server {
//這里是配置nginx首頁(yè)以及出錯(cuò)跳轉(zhuǎn)頁(yè)面的,我們這里配置的是localhost:80端口,也可以根據(jù)需要定義
listen 80;
server_name localhost;
//access.log 記錄所有用戶請(qǐng)求的一種日志
#access_log logs/host.access.log main;
//跳轉(zhuǎn)的nginx首頁(yè),首頁(yè)文件在根目錄的html文件夾下的index.html
location / {
root html;
index index.html;
}
//出錯(cuò)頁(yè)面,出錯(cuò)的話就會(huì)跳轉(zhuǎn)。在根目錄的html文件夾下的/50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
//負(fù)載均衡的策略在upstream塊這里配置,如下是輪詢(xún)的一個(gè)范例
upstream bakend {
server 192.168.1.10 weight=1;
server 192.168.1.11 weight=2;
}
#引入其他的conf
include imooc.conf;
}#imooc.conf
server {
listen 81;
server_name localhost;
//跳轉(zhuǎn)的nginx首頁(yè),首頁(yè)文件在根目錄的html文件夾下的index.html
location / {
root html;
index imooc123.html;
}
}nginx進(jìn)程模型
包含master進(jìn)程(用來(lái)監(jiān)聽(tīng)命令和請(qǐng)求)和worker進(jìn)程(用來(lái)處理,是異步非阻塞模式:如果當(dāng)前client阻塞,就會(huì)繼續(xù)處理其他client的請(qǐng)求),可以通過(guò)配置開(kāi)啟多個(gè)worker,每個(gè) worker可以處理幾十萬(wàn)甚至幾百萬(wàn)的并發(fā)(根據(jù)機(jī)器性能),不過(guò)默認(rèn)每個(gè)worker的連接數(shù)是1024。



到此這篇關(guān)于nginx.conf配置文件結(jié)構(gòu)小結(jié)的文章就介紹到這了,更多相關(guān)nginx.conf結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Bash腳本和Logrotate實(shí)現(xiàn)Nginx日志切割的方法
Logrotate是一個(gè)Linux系統(tǒng)上用來(lái)管理日志文件的工具,它可以定期輪轉(zhuǎn)日志文件、壓縮舊的日志文件以及刪除過(guò)期的日志文件,這篇文章主要介紹了使用Bash腳本和Logrotate實(shí)現(xiàn)Nginx日志切割,需要的朋友可以參考下2024-05-05
配置解決Nginx服務(wù)器中WordPress路徑不自動(dòng)加斜杠問(wèn)題
這篇文章主要介紹了配置解決Nginx服務(wù)器中WordPress路徑不自動(dòng)加斜杠問(wèn)題,nginx不會(huì)自動(dòng)在請(qǐng)求的最后加上一個(gè)斜線的問(wèn)題文中也有提到通用的規(guī)則改寫(xiě)方法,需要的朋友可以參考下2016-01-01
Nginx Lua 根據(jù)參數(shù)請(qǐng)求轉(zhuǎn)發(fā)的實(shí)現(xiàn)
本文介紹了如何使用Nginx和Lua腳本實(shí)現(xiàn)基于參數(shù)的請(qǐng)求轉(zhuǎn)發(fā),文章詳細(xì)說(shuō)明了配置方法,并提供了示例代碼,幫助讀者理解如何通過(guò)NginxLua模塊根據(jù)請(qǐng)求參數(shù)將流量轉(zhuǎn)發(fā)到不同后端服務(wù),這種方法有助于實(shí)現(xiàn)靈活的負(fù)載均衡和動(dòng)態(tài)內(nèi)容處理2022-05-05

