在Debian系統上,Nginx的配置文件通常位于/etc/nginx/nginx.conf。以下是一個基本的Nginx配置文件示例,包括一些常見的配置項:
# 用戶和組設置
user www-data;
worker_processes auto;
# 錯誤日志路徑
error_log /var/log/nginx/error.log warn;
# 運行時進程文件路徑
pid /var/run/nginx.pid;
# 事件模塊配置
events {
worker_connections 1024; # 每個工作進程的最大連接數
}
# HTTP服務器配置
http {
include /etc/nginx/mime.types; # MIME類型文件
default_type application/octet-stream; # 默認MIME類型
# 日志格式設置
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;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# Gzip壓縮設置
gzip on;
gzip_disable "msie6";
# 虛擬主機配置
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
# 安全設置
server_tokens off;
open_file_cache max=1000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
}
用戶和組設置:
user www-data;:指定Nginx運行的用戶和組。worker_processes auto;:自動設置工作進程的數量。錯誤日志:
error_log /var/log/nginx/error.log warn;:指定錯誤日志的路徑和日志級別。運行時進程文件:
pid /var/run/nginx.pid;:指定PID文件的路徑。事件模塊:
events塊中的worker_connections設置每個工作進程的最大連接數。HTTP服務器配置:
include /etc/nginx/mime.types;:包含MIME類型文件。default_type application/octet-stream;:設置默認的MIME類型。log_format main:定義日志格式。access_log /var/log/nginx/access.log main;:指定訪問日志的路徑和格式。sendfile on;:啟用高效文件傳輸。tcp_nopush on;:優化TCP推送。tcp_nodelay on;:禁用Nagle算法。keepalive_timeout 65;:設置長連接超時時間。gzip on;:啟用Gzip壓縮。gzip_disable "msie6";:禁用對IE6的Gzip壓縮。虛擬主機配置:
include /etc/nginx/conf.d/*.conf;:包含/etc/nginx/conf.d/目錄下的所有配置文件。include /etc/nginx/sites-enabled/*;:包含/etc/nginx/sites-enabled/目錄下的所有配置文件。在/etc/nginx/sites-available/目錄下創建一個新的配置文件,例如example.com.conf:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html/example.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
location = /404.html {
root /var/www/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
}
創建一個符號鏈接以啟用該虛擬主機配置:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
在重新加載Nginx之前,測試配置文件是否有語法錯誤:
sudo nginx -t
如果沒有錯誤,重新加載Nginx以應用更改:
sudo systemctl reload nginx
這樣,你就完成了一個基本的Nginx配置文件的編寫和部署。根據實際需求,你可以進一步調整和擴展配置。