我想在一个实例上为多个站点提供服务。
我安装了 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 站点配置文件类似
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;
}
}
我有一个通过以下方式运行的 unicorn rails 服务器rails s -p 3000
然而,没有找到任何网站site1.com
。site2.com
我可以在以下网址访问 Rails 网站:www.site2.com:3000
哪里出了问题?我花了 2 天时间(将近 30 小时)尝试了许多不同的博客、SO/SF 问题等。请分享您的见解或答案。
编辑1:当我尝试访问这两个网站时,都没有创建任何日志条目。就好像请求从未进入一样。
答案1
始终检查您的防火墙/代理/传入端口。
上述配置文件中的所有内容都运行正常。问题是端口 80 未对入站流量开放。