我想讓我的Rails服務器在2個不同的端口上偵聽。向我提出的一個解決方案是使用nginx。我nginx的安裝與sudo passenger-install-nginx-module
,並添加以下內容/etc/nginx/conf.d:nginx + passenger + rails:我需要啓動rails服務器還是隻需啓動nginx?
server {
listen 80;
listen 10000;
server_name www.myapp.com
passenger_enabled on;
root /root/myapp/public;}
當我去www.myapp.com我有一個403 Forbidden錯誤。我想這是因爲/ public中沒有靜態html文件。我放下了一個簡單的「hello world」html頁面,並且它正確加載。然後我開始使用passenger start -e production
來啓動我的rails應用程序,這使得它在3000端口上以獨立的phusion乘客模式運行。我去myapp.com:3000,我得到了應用程序。但是,myapp:80和myapp:10000仍然不起作用。我很困惑如何讓我的nginx指向我正在運行的rails服務器。我完全錯了嗎?謝謝!
Nginx的客運啓動,併爲Rails服務器轉發到我的軌道服務器。 Passenger作爲一個模塊編譯成nginx,甚至在獨立模式下它仍然通過nginx運行。 – cpuguy83