【问题标题】:Running same Ruby application in multiple environments在多个环境中运行相同的 Ruby 应用程序
【发布时间】:2014-02-02 21:01:50
【问题描述】:

我正在进行 Ruby 应用程序的本地开发,并希望设置生产和开发环境。我打算像登台服务器一样在本地使用生产,向我的客户展示代码库的当前状态。但是,我想运行一个具有不同设置的实际开发环境供我个人使用。

我打算使用虚拟主机来区分这两个站点。无论我如何尝试更改 Apache + Passenger 中的设置,它们都在相同的环境中运行(无论是生产环境还是开发环境)。如何让不同的虚拟主机在不同的环境中运行相同的代码库?

/etc/apache2/sites-available/app.conf:

<VirtualHost *:80>
    ServerName app.local
    ServerAlias app.example.com
    DocumentRoot /code/sites/app/public

    RailsEnv production
    RackEnv production

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    LogLevel debug ssl:debug

    ErrorLog ${APACHE_LOG_DIR}/app.error.log
    CustomLog ${APACHE_LOG_DIR}/app.access.log combined
</VirtualHost>

/etc/apache2/sites-available/app-dev.conf:

<VirtualHost *:80>
    ServerName app.dev.local
    DocumentRoot /code/sites/app_dev/public

    RailsEnv development
    RackEnv development

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    LogLevel debug ssl:debug

    ErrorLog ${APACHE_LOG_DIR}/app-dev.error.log
    CustomLog ${APACHE_LOG_DIR}/app-dev.access.log combined
</VirtualHost>

【问题讨论】:

    标签: ruby-on-rails apache2 passenger


    【解决方案1】:

    为每个应用程序 vhost 指定不同的 PassengerAppGroupName,以便 Phusion Passenger 将它们视为不同的应用程序。

    【讨论】:

    • 太棒了。最后。我还没有看到任何地方引用过这个选项。你是怎么知道的?我想知道是否应该使用一些乘客参考。
    • 我是 Phusion Passenger 的作者之一。该选项仍需要记录在案。
    【解决方案2】:

    这是一个更容易解决您的问题的方法。 https://ngrok.com/ 它不会像你设置所有东西那样运行得那么快,但是设置起来却非常容易。

    【讨论】:

    • 我可能会看这个,但它仍然没有解决主要问题,即我想要本地使用的开发环境(禁用缓存类等以使其对开发人员友好) ,但也希望客户端呈现有所不同(预编译资产、缓存以提高速度、单独的数据库等)
    • 它可以提供所有这些东西。它所提供的只是一种安全的方式,可以将您在本地打开的任何端口都通过隧道连接到互联网。无论您在本地做什么,都取决于您。
    • 是的,但我要说的是整个设置中我没有遇到问题的部分;我正在为远程域进行路由器端口转发和 Apache ServerAlias,这部分正在工作。无论其他设置参数如何,都不起作用,我似乎无法让两个实例在不同的环境中运行。改变外部隧道本身并不能解决这个问题。有谁知道为什么它不能按原样工作?
    猜你喜欢
    • 2015-07-07
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多