Ubuntu
Nginx 404 使用 Phusion 乘客部署 Ruby on Rails 應用程序
這裡有很多移動元件,我對它們的熟悉程度各不相同,所以我希望另一雙眼睛能幫助我發現為什麼在執行 Phusion Passenger 的 Nginx 上部署我的 Rails 應用程序後我會得到 404。
我的應用程序的 /public 目錄目前位於:
$pwd >> /root/public_html/photobook/public
我在 nginx.conf 中的伺服器設置:
server { listen 80; server_name pb.mysite.com; root /root/public_html/photobook/public; # <--- be sure to point to 'public'! passenger_enabled on; }
但是重啟nginx後:
sudo /opt/nginx/sbin/nginx
轉到我的瀏覽器會顯示 Nginx 提供的 404 頁面。
處理子域的規則是否與我不知道的不同?或者這完全是另一回事?
另外,由於我是 Nginx 上的乘客新手,我應該找到一個日誌文件,它可能會給我關於 404 的更多有用回饋,比如它正在查找哪個頁面?
謝謝!
編輯
首先,感謝您對 /var/log 的建議。
我不知道;這對以後會有很大的幫助。
我不確定我的系統日誌(我有兩個看起來是最新的,然後看起來像 .gz 備份)正在記錄任何相關的內容,但是:
Jun 23 01:25:01 myusername /USR/SBIN/CRON[11379]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Jun 23 01:49:01 myusername -- MARK --
就是這樣,每小時的 cron 任務和任何東西 - MARK - 都是為了,一直回來。有任何想法嗎?
在 /var/log 下檢查。除非您有 nginx 或乘客日誌,否則一切都將在 syslog 下。
您的下一步將取決於您在那裡看到的內容。如果解決方案不是很明顯,請在 nginx 啟動時發布您的日誌,以便我們更好地了解下一步該去哪裡。
編輯:
由於 /opt 下有 nginx,請查看 /opt/nginx/logs/error.log。
此外,您需要將您的應用程序從 /root 中刪除,因為如果您以 root 身份執行 nginx,它可能會導致 nginx 誤讀路徑。
最後,考慮創建一個 nginx 使用者來執行 nginx 以限制您接觸壞人。