ruby-on-rails - 使用带有 nginx 的 phusion 乘客 3.0.17 运行多个 Rails 网站

标签 ruby-on-rails nginx virtualhost passenger ruby-on-rails-2

我在 google 上搜索了使用 phusion 乘客 3.0.17 和 nginx 部署多个 Rails 网站,但没有得到相关结果。我如何通过运行passenger-install-nginx-module 命令完成乘客nginx 设置。

问题 1) 我正在寻找合适的初学者教程,以使用带有 nginx 的 phusion 乘客 3.0.17 运行多个 Rails 网站

问题 2) 我正在寻找用于启动、停止、重新启动(所有网站的整个乘客 nginx 服务器(即))以及(个别 Rails 网站)的命令

注:我不是在寻找乘客独立解决方案。我正在使用 REE 1.8.7 和 rails 2.3.14

最佳答案

根据Passenger 的文档,您为要部署的每个应用程序创建一个新的虚拟主机。
并点网站root在您的应用程序公共(public)目录中,并添加 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 应用程序,带有乘客模块。
并且您想让它重新加载您刚刚推送到服务器的一些更改。
乘客观看tmp/restart.txt文件中的应用程序。因此,只需运行 touch tmp/restart.txt .虽然 cd'd 进入应用程序的文件夹会告诉乘客重新加载应用程序。

最后一种重启/重新加载的情况是为 Nginx 重新加载。
您在添加或更改 VHOST 时使用它。/etc/init.d/nginx reload .这允许您重新加载您的虚拟主机和其他配置而不会断开连接。

看看乘客文件,它非常彻底。 nginx-passenger docs

关于ruby-on-rails - 使用带有 nginx 的 phusion 乘客 3.0.17 运行多个 Rails 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13722718/

相关文章:

ruby-on-rails - 为 nil :NilClass using nested_form_for 获取未定义的方法 `values_at'

nginx - 是否可以在 ingress-nginx 上提供来自 s3 的静态文件?

php - 如果页面通过 https 加载,Laravel 使用 url() 或 Route() 来提供 https URL

apache - Ubuntu 10 Apache 虚拟主机突然丢失

linux - Virtualhost Document Root 更改整个服务器的 Web 根目录

ruby-on-rails - 脏(更改)属性 : since when are the values in the changeset strings (instead of objects)?

javascript - AJAX 调用正在处理但未在 Rails View 中呈现

ruby-on-rails - Docker - 无法转发交互式 shell 的端口

redirect - nginx 重定向规则将所有内容重定向到 https,即使对于其他端口也是如此

redirect - 具有多个域的Apache虚拟主机