我剛剛在 DigitalOcean 中獲得了一個新伺服器,並且想嘗試一些其他的事情。我想啟動 WordPress 網站,因此我按照此處的前 1-3 個步驟進行操作:https://deliciousbrains.com/hosting-wordpress-yourself-nginx-php-mysql/。起初一切都很順利,我確實成功安裝了 WordPress。不幸的是,我的網站上目前有 403 Forbidden。
我使用的是 Ubuntu 14.04 x64。有時我已經卡住了很長時間,但仍然不知道發生了什麼。我什至嘗試刪除Nginx並重新安裝,仍然如此。
這是我的conf檔:
用戶西爾維亞; 工作進程 1; pid /run/nginx.pid; 事件{ 工人連接1024; # 多接受; } http{ ## # 基本設置 ## 發送文件; tcp_nopush 開啟; tcp_nodelay 開啟; keepalive_timeout 15; types_hash_max_size 2048; # server_tokens 關閉; client_max_body_size 64m; # server_names_hash_bucket_size 64; # server_name_in_redirect 關閉; 包括/etc/nginx/mime.types; default_type 應用程式/八位元組流; ## # 日誌記錄設定 ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## #Gzip 設定 ## gzip 開啟; gzip_disable“msie6”; # gzip_vary 開啟; # gzip_proxied 任意; # gzip_comp_level 2; # gzip_buffers 16 8k; # gzip_http_版本 1.1; # gzip_types 文字/純文字/css 應用程式/json 應用程式/javascript 文字/xml 應用程式/xml 應用程式/xml+rss 文字/javascript; ## # 虛擬主機配置 ## 包括/etc/nginx/conf.d/*.conf; 包括/etc/nginx/sites-enabled/*; 伺服器 { 監聽 80 預設伺服器; 伺服器名稱 _; 返回444; }
任何想法?
答案1
最有可能的是權限問題。授予 www-data 使用者存取您的 Web 根目錄的權限。您也可以授予所有權。
chown -R www-data:www-data /path/to/your/directory
答案2
禁止意味著 NGINX 無法開啟儲存檔案的目錄。
NGINX error_logs 將為您提供問題的確切原因。
日誌儲存在/var/logs/nginx/error_log中。只需打開文件並轉到最後幾行,看看您得到的特定錯誤是什麼。
理想情況下,執行 chmod 755 目錄即可解決問題。
答案3
我也遇到了403問題,這是由目錄模式引起的。
我把根目錄設定在home下,主目錄預設模式是600。
然後我找到了這篇文章https://gist.github.com/jhjguxin/6208474,並嘗試將根目錄改為755,問題解決。
因此,Ubuntu 12.04 中使用者主目錄的預設權限似乎是 700。 ** Nginx 需要對應該提供服務的檔案具有讀取權限,並且在從根到服務的路徑上的每個父目錄中具有執行權限檔案。 **
您可以透過運行來授予您的使用者目錄這些權限
chmod 701 用戶首頁
您也可以使用 755,這是許多系統上主目錄的預設權限設定。
Web 根目錄中的目錄/文件可以屬於 www-data 用戶或常規個人用戶,只要 nginx 運行的用戶/群組(如 nginx.conf 中定義)對所有要提供服務的文件具有 READ 權限,並且對所有Web 根目錄的執行權限。
答案4
如果您只是想列出目錄內容,請使用autoindex on;
以下命令:
location /somedir {
autoindex on;
}