RHEL7下Nginx配置文件詳解
全局配置
#user nobody nobody;//指定Nginx進程運行用戶以及用戶組。
worker_processes 1;//開啓的進程數。
#error_log logs/error.log;//定義全局錯誤日誌
#error_log logs/error.log notice; //定義全局錯誤日誌
#error_log logs/error.log info; //定義全局錯誤日誌
#pid logs/nginx.pid;//指定進程id的存儲文件位置。
Worker_rlimit_nofile 65535;//一個進程可以打開最多文件數量,需要使用命令“ulimit –n 65535”.
events {//設定nginx工作模式及連接數上線
user epoll;//指定Nginx工作模式,值有select、poll、kqueue、epoll、rtsig、/dev/poll.linux系統使用epoll。
worker_connections 65535;進程最大連接數,默認1024.
}
HTTP服務器配置
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和tcp_nodelay設置爲on,防止網絡阻塞。
#tcp_nopush on;
#tcp_nodelay on;
#keepalive_timeout 0;
keepalive_timeout 65;//客戶端連接保持活動的超時時間,超過設定的數值,服務器關閉該鏈接。
#gzip on;//是否開啓壓縮功能。
Server虛擬主機配置
server {//標示虛擬主機的開始
listen 80;//監聽虛擬主機的端口
server_name localhost;//虛擬主機的域名或者ip地址
index index.html index.htm index.jsp;//設定訪問的默認首頁地址。
#charset koi8-r;//網頁編碼格式。
#access_log logs/host.access.log main; //虛擬主機日誌存放位置,引用上面設定的日誌格式。
URL匹配配置
location ~ .*\. (gif|jpg|jpeg|png|bmp|swf)${
root html;//指定網頁根目錄
expires 30d;//靜態文件失效時間。
}//說明:所有圖片格式的靜態文件都交給Nginx處理。
location ~ .^/(upload|htm)/{
root html;//指定網頁根目錄
expires 30d;//靜態文件失效時間。
}//說明:所有upload和htm目錄下的文件都交給Nginx處理。
location ~ .*.jsp${
index index.jsp;//設定訪問的默認首頁地址。
Proxy_pass http://localhost:8080;//jsp文件交給本機8080端口處理。
}//說明:所有jsp文件都交給本機8080端口處理。(8080端口可以設置tomcat)
stubstatus配置(手工配置)
location / NginxStatus {
stub_status on;//啓用工作狀態統計功能。
access_log logs/NginxStatus.log;//指定訪問日誌文件。
auth_basic “NginxStatus”;//認證機制
auth_basic_user_file ../htpasswd;//認證密碼文件。
}
//生產密碼文件的方法:添加webadmin用戶:useradd webadmin.
//生產密碼文件:/usr/local/apache/bin/htpasswd –c /application/nginx/conf/htpasswd webadmin
}