對於nginx的認知一直停留在負載代理這方面,沒有細細研究,最近在部署django項目中出現了一些問題,總結一下。
-
nginx重啟時報錯問題,nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)錯誤;
指定conf文件啟動
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
-
部署django時,css、js、img等靜態文件無法加載
location /.*(js|css|)$ { #需要指定判斷
root /data/wwwroot/static; #靜態資源路徑
}
3.由於特殊需求需要對django中的image圖片每天更新,更新index.html文件后,瀏覽器訪問還是原來的舊文件,需要手動清除緩存后才能加載新文件。大概網上找了一些文檔發現了問題,沒有看的特別透只是解決了現有問題,具體想了解的報錯一些參數和底層實現的需要自己在專門看看這方面資料。形成瀏覽器緩存的原因,大致是因為為了節約網絡資源同時提高用戶訪問體驗,對於不經常更換的文件會加載到本地緩存中,當用戶請求數據時,瀏覽器會優先到本地查找,不會重新向服務器發送請求。
解決方法:
sendfile off;
location /.*(png|gif|jpg)$ {
root /data/wwwroot/static; #靜態資源路徑
expires 1s; #設置為1s
# 參考博客: https://cloud.tencent.com/developer/article/1400932
}