nginx配置檔案簡談------初步認識nginx的配置檔案
最近,在初步解除nginx的時候,剛看到配置檔案的時候,自己處於一臉懵的狀態,然後就各種查詢才明白了nginx配置檔案的一些意思,我發現自己不明白nginx的配置檔案是因為一開始的時候就不知道nginx到底可以做些什麼!我覺得剛開始接觸的話,可以先了解下nginx可以做些什麼會更好,閒話不多說,我們從剛安裝完nginx開始。
一起來看下nginx的配置檔案:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #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 logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; charset utf-8; # /表示根目錄,該配置表示Nginx預設開啟/www下的index.html location / { root index.html; index index.html index.htm; } } }
然後一起來看下這些的意思:
第一部分:
#user nobody; ------ 這裡代表的是該nginx執行的worker程序的使用者跟使用者組,一般沒什麼指定的使用者可以是預設
worker_processes 1; ------ 這裡的意思是woker的程序數量,跟後面的連線數有關(後面再說)建議是CPU的核數
#error_log logs/error.log;
#error_log logs/error.log notice; ------ 這三個都是日誌檔案的級別,選擇哪個,就是採用哪個日記級別還有warn和crit
#error_log logs/error.log info;
#pid logs/nginx.pid; ------ 指定程序id儲存檔案的位置,普通使用可以註釋
第二部分:
events {
worker_connections 1024; ------ 每個程序可以處理的最大連線數,理論上每臺nginx的連線數就是它X worker_processes數
}
第三部分:也是我們最常用的;餓
http {
include mime.types; ------ 副檔名跟檔案型別對映表
default_type application/octet-stream; ------預設的檔案型別
# 定義日誌的格式問題
#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 logs/access.log main;
sendfile on; ------ 是否開啟高效傳輸模式
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65; -----保持連線的時間
#gzip on; ------ 是否開啟gzip壓縮
server {
listen 80; ------ 監聽的埠
server_name localhost; ------ 伺服器的域名
# /表示根目錄,該配置表示Nginx預設開啟/www下的index.html
location / {
#------ 我們主要是改這裡,一般改成我們應用的上下文,然後nginx攔截轉到我們的應用裡面,這裡的意思就是別人如果訪問80 # 埠可以跳轉到本地8080埠的應用
proxy_pass http://127.0.0.1:8080
}
}
一開始,我覺得了解下這些就可以了,然後再實踐下,除了這些nginx還能做到的事情很多,比如負載均衡、限制IP訪問等等。