我搜索谷歌使用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
答案 0 :(得分:8)
根据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
。虽然cd进应用程序的文件夹会告诉Passenger重新加载应用程序。
重新启动/重新加载的最后一种情况是重新加载Nginx。
您在添加或更改VHOST时使用此功能。
/etc/init.d/nginx reload
。这允许您在不丢弃连接的情况下重新加载vhost和其他配置。
对乘客文档有所了解,这是非常彻底的。 nginx-passenger docs
答案 1 :(得分:2)
以下是为多个虚拟主机配置Nginx的分步教程:http://articles.slicehost.com/2007/12/7/ubuntu-gutsy-installing-nginx-via-aptitude
请注意:
$ 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;
}
}
在已启用网站的新文件中,只需添加新网站即可。