ngix 讀取配置 先讀取全局配置 然後再讀取子配置
全局配置文件位置: /etc/ngix/ngix.conf
子配置文件位置: /etc/ngix/conf.d/default.conf (這是默認的子配置 文件,還可以另外配置)
1.全局配置文件:
#----------------------------------------------------------------------
# 這個配置在Linux操作系統中是必須的,nginx是一個linux下的用戶
#是安裝Nginx軟件時Nginx軟件默認創建的,該用戶名不得修改否則Nginx將無法啓動
#----------------------------------------------------------------------
user nginx;
#----------------------------------------------------------------------
#worker_processes指明瞭nginx要開啓的進程數。
#據官方說法,一般開一個就夠了,多開幾個,可以減少機器io帶來的影響。
#nginx的這個參數在一般情況下開4個或8個就可以了,再往上開的話優化不太大。
#nginx開啓太多的進程,會影響主進程調度,所以佔用的cpu會增高。
#官方的建議是修改成CPU的內核數
#假設你的電腦是雙核的,按理說應該是2,但是實際上應該是4,因爲是雙線程的
#這時你可以把worker_processes設置爲4
#----------------------------------------------------------------------
worker_processes 1;
#----------------------------------------------------------------------
#error_log是Nginx的錯誤日誌
#Nginx把錯誤分爲八種:debug info warn error crit alert emerg notice
#如果你想根據錯誤的類型分配不同的錯誤日誌,你可以參考下面的寫法
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
#----------------------------------------------------------------------
error_log /var/log/nginx/error.log;
#進程管理文件
pid /var/run/nginx.pid;
#-------------------------------------------------------------------------
#events配置影響nginx服務器或與用戶的網絡連接。有每個進程的最大連接數,選取哪種事件驅動模型處理連接請求,是否允許同時接受多個網路連接,開啓多個網絡連接序列化等。
#----------------------------------------------------------------------------
events {
worker_connections 1024;
}
#-------------------------------------------------------------------------
#http配置可以嵌套多個server,配置代理,緩存,日誌定義等絕大多數功能和第三方模塊的配置。如文件引入,mime-type定義,日誌自定義,是否使用sendfile傳輸文件,連接超時時間,單連接請求數等。
#-------------------------------------------------------------------------
http {
#Nginx可以識別的所有文件類型
include /etc/nginx/mime.types;
#默認的優先解釋的文件類型
default_type application/octet-stream;
#負載均衡的反向代理分發選項
#upstream web{
#server 服務器的地址 weight=1 max_fails=3 fail_timeout=20s;
#server 服務器的地址 weight=1 max_fails=3 fail_timeout=20s;
#}
#訪問日誌格式,一般不需要修改,包括了用戶的ip,瀏覽器,時區等信息
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main; #訪問日誌格式存放路徑
#是否允許文件傳輸
sendfile on;
#連接nginx的超時時間
keepalive_timeout 65;
#是否啓動gzip壓縮,on代表啓動,off代表開啓
gzip on;
#需要壓縮的常見靜態資源
gzip_types text/html text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
#由於nginx的壓縮發生在瀏覽器端而微軟的ie6很坑爹,會導致壓縮後圖片看不見所以該選項是禁止ie6發生壓縮
gzip_disable "MSIE [1-6]\.";
#如果文件大於1k就啓動壓縮
gzip_min_length 1k;
#以16k爲單位,按照原始數據的大小以4倍的方式申請內存空間,一般此項不要修改
gzip_buffers 4 16k;
#壓縮的等級,數字選擇範圍是1-9,數字越小壓縮的速度越快,消耗cpu就越大
gzip_comp_level 2;
#引導的在/etc/nginx/conf.d目錄下所有後綴爲.conf的子配置文件
include /etc/nginx/conf.d/*.conf;
}
2.子配置文件
server {
# web監聽端口號
listen 80;
# 主機名 ip地址(如下地址根據實際情況填寫)
#server_name 192.168.12.xxx;
charset utf-8;
# ngix 站點所在目錄, 比如 apache的站點目錄在 /var/www/html
root /usr/share/nginx/html;
#location ~ .*\.(jpg|jpeg|gif|css|png|js|ico|mp3|mp4|swf|flv){
#expires nd;
#}
#網站首頁文件入口
location / {
index index.php index.html index.htm;
}
#server{
#location / {
#proxy_pass http://web/;
#}
#}
#ngix支持的php配置,一般不做修改
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}