![](/img/trans.png)
[英](Using phusion passenger + Nginx) running same rails app with multiple instance names with same port (80)
[英]running multiple rails websites using phusion passenger 3.0.17 with nginx
我搜索谷歌使用phusion passenger 3.0.17与nginx部署多个rails网站,但我没有得到相关结果。 我是如何通过运行passenger-install-nginx-module命令完成乘客nginx设置的。
问题1)我正在寻找适当的初学者教程,使用phusion passenger 3.0.17和nginx运行多个rails网站
问题2)我正在寻找启动,停止,重启(所有网站的整个乘客nginx服务器(即))以及(个人铁路网站)的命令
注意:我不是在寻找乘客独立解决方案。 我正在使用REE 1.8.7和rails 2.3.14
根据Passenger的文档,您可以为要部署的每个应用程序创建一个新的vhost。 并将站点root
指向您的应用程序公共目录,并添加passenger_enabled
指令。 与使用Apache部署完全相同。
http {
...
server {
listen 80;
server_name www.mycook.com;
root /webapps/mycook/public;
passenger_enabled on;
}
...
}
更多信息: http : //www.modrails.com/documentation/Users%20guide%20Nginx.html#deploying_a_ror_app
关于问题2.重新启动取决于您尝试做什么。 我假设你正在使用一个使用init.d
的发行版
这3种情况下你会进行不同类型的“重启”。
你在Nginx上有一些配置问题。 或者它表现得很奇怪。 所以你会像这样重启Nginx服务: /etc/init.d/nginx restart
下一个案例是您在Nginx上使用乘客模块部署了rails或sinatra应用程序。 并且您想让它重新加载您刚刚推送到服务器的一些更改。 Passenger在您的应用程序中tmp/restart.txt
文件。 所以通过简单地运行touch tmp/restart.txt
restart.txt。 虽然进入应用程序文件夹的cd将告诉Passenger重新加载应用程序。
重新启动/重新加载的最后一种情况是重新加载Nginx。 您在添加或更改VHOST时使用此功能。 /etc/init.d/nginx reload
。 这允许您在不丢弃连接的情况下重新加载vhost和其他配置。
对乘客文档有一个了解,它是非常彻底的。 nginx-passenger docs
以下是为多个虚拟主机配置Nginx的分步教程: http : //articles.slicehost.com/2007/12/7/ubuntu-gutsy-installing-nginx-via-apitude
注意:
$ touch current/tmp/restart.txt
。 <NGINX_HOME>/bin/nginx stop
停止然后<NGINX_HOME/bin/nginx
启动。 为了帮助您,这是我的配置文件。
nginx.conf:
#user nobody;
worker_processes 4;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
passenger_root /rails/common/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/passenger-3.0.17;
passenger_ruby /rails/common/ruby-1.9.2-p290/bin/ruby_with_env;
passenger_max_pool_size 30;
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
include /rails/common/nginx/conf/sites-enabled/*.conf;
}
在启用站点的文件夹中的示例site.conf:
server {
listen 80;
server_name domainname1.com;
root /rails/myapp1/current/public;
passenger_enabled on;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
if (-f $document_root/system/maintenance.html) {
return 503;
}
error_page 503 @maintenance;
location @maintenance {
rewrite ^(.*)$ /system/maintenance.html break;
}
}
已启用网站的新文件是添加新网站所需的全部内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.