Debian系統中的Nginx配置文件通常位于/etc/nginx/目錄下,主要包含以下幾個配置文件:
nginx.conf: 主配置文件,包含了Nginx服務器的基本配置信息,如運行參數、事件模型、HTTP服務器配置等。其他配置文件可以通過include指令引入。
sites-available/: 存放虛擬主機配置文件的目錄。在這個目錄下的配置文件需要通過創建符號鏈接到sites-enabled/目錄來啟用。
sites-enabled/: 存放已啟用的虛擬主機配置文件的目錄。這個目錄下的配置文件會在Nginx啟動時被加載。
conf.d/: 存放額外的配置文件的目錄。這些配置文件也會在Nginx啟動時被加載。通常用于存放特定功能的配置,如SSL證書配置等。
koi-utf, koi-win: 這些文件包含了Koi編碼的字符集映射,用于支持UTF-8編碼的域名。
下面是一個典型的Nginx配置文件結構示例:
/etc/nginx/
├── nginx.conf
├── sites-available/
│ ├── default
│ └── example.com.conf
├── sites-enabled/
│ ├── default -> ../sites-available/default
│ └── example.com.conf -> ../sites-available/example.com.conf
├── conf.d/
│ ├── default.conf
│ └── example.com.conf
└── koi-utf
└── koi-utf
在這個示例中,nginx.conf是主配置文件,sites-available/目錄下有兩個虛擬主機配置文件default和example.com.conf,它們分別通過符號鏈接到sites-enabled/目錄來啟用。此外,conf.d/目錄下還有兩個額外的配置文件default.conf和example.com.conf。
一個典型的Nginx虛擬主機配置文件(如/etc/nginx/sites-available/example.com.conf)結構如下:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
這個配置文件定義了一個虛擬主機,監聽80端口,服務器名為example.com和www.example.com。網站的根目錄為/var/www/example.com,默認索引文件為index.html和index.htm。配置了兩個location塊,一個用于處理普通的靜態文件請求,另一個用于處理PHP文件的請求。最后,拒絕訪問.ht文件。