Nginx
如何設置 nginx 以使用 rails(unicorn/passenger) 和 php-fpm 服務虛擬主機
我想在一個實例上服務多個站點。
我安裝了 nginx、php-fpm 和一個 rails 應用程序。我使用這樣的網站來指導我。
我將 php-fpm 配置為監聽本地套接字
listen = /var/run/php-fpm/php-fpm.sock
我用多個主機配置 ngnix:
include /etc/nginx/conf.d/*.conf
我有幾個站點 php conf 文件,例如
/etc/nginx/conf.d/site1.conf
server { listen 80; server_name site1.com www.site1.com; root /var/www/site1; access_log /var/log/nginx/site1.com-access.log; error_log /var/log/nginx/site1.com-error.log; location / { index index.html index.php; } location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } }
和 rails 站點 conf 文件,例如
upstream rails { server 127.0.0.1:3000; } server { listen 80; server_name site2.com www.site2.com; access_log /var/log/nginx/site2.com-access.log; error_log /var/log/nginx/site2.com-error.log; root /var/www/site2; location / { proxy_pass http://rails; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_set_header X-Url-Scheme $scheme; } }
我有一個通過執行的獨角獸 Rails 伺服器
rails s -p 3000
然而,沒有網站出現
site1.com
或site2.com
。我可以在www.site2.com:3000
怎麼了?我花了 2 天(將近 30 小時)嘗試了許多不同的部落格、SO / SF 問題等。請分享您的見解或答案。
**編輯 1:**當我嘗試訪問任一站點時,不會創建任何日誌條目。就像請求永遠不會進來一樣。
始終檢查您的防火牆/代理/傳入埠。
上述配置文件中的所有內容都執行良好。問題是埠 80 未對入站流量開放。