動靜分離是一種常見的網絡優化策略,通過將靜態資源(如圖片、CSS、JavaScript文件)和動態內容(如PHP、Java等處理后的頁面)分開處理,可以提高網站的性能和響應速度。以下是通過Nginx配置實現動靜分離的步驟:
首先,確保你已經安裝了Nginx。如果還沒有安裝,可以參考官方文檔進行安裝。
編輯Nginx的配置文件,通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
。
在Nginx配置文件中,添加一個server塊來處理靜態資源請求。
server {
listen 80;
server_name example.com;
# 靜態資源目錄
root /var/www/static;
location / {
try_files $uri $uri/ =404;
}
# 處理圖片、CSS、JS等靜態文件
location ~* \.(jpg|jpeg|png|gif|css|js)$ {
expires 30d;
add_header Cache-Control "public";
}
}
在同一個Nginx配置文件中,添加另一個server塊來處理動態內容請求。
server {
listen 80;
server_name example.com;
# 動態內容目錄
root /var/www/html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# 處理PHP文件
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根據你的PHP版本調整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
保存配置文件后,啟動或重啟Nginx服務以應用更改。
sudo systemctl start nginx
# 或者
sudo service nginx start
打開瀏覽器,訪問你的網站,確保靜態資源能夠正確加載,動態內容也能夠正常處理。
通過以上步驟,你可以成功實現Nginx的動靜分離,提高網站的性能和用戶體驗。