遇到的問題表現出來就是如題所述,因此作為題目。
我們知道,前端有很多方便的構建和打包工具,如webpack等,通常我們會把前端文件打包到dist目錄下,部署到服務器上,如nginx等。
這次遇到的問題是我下載了別人的一個代碼壓縮包,是一個vue.js+webpack的項目,構建好后上傳服務器,可以保證的是服務器上的nginx配置完全正確,但是在瀏覽器上怎么訪問都是403 forbidden。
仔細觀察項目結構與文件權限,發現項目下所有文件都是755的權限,所有文件夾都是700的權限,構建出來的文件也同樣繼承了這樣的權限,導致nginx無法訪問文件。詳細原理請參考linux文件權限和nginx文檔。
(如圖左為正常創建的文件權限,右為異常權限)
這里也有一個鏈接描述了這個問題:403 Forbidden Error and How to Fix it | Nginx Tips
下面我們需要修復文件權限,使得所有文件是644權限,而所有文件夾是755權限。
一個一個設置太麻煩了,可以使用find命令加上文件類型判斷,來進行批量操作。
#?更改文件夾權限find?.?-type?d?-exec?chmod?755?{}?;#?更改普通文件權限find?.?-type?f?-exec?chmod?644?{}?;
find命令的用法請參考man手冊。
這樣,我們再次在瀏覽器訪問服務端地址,就可以正常訪問了。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END