Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在多个环境中运行同一个Ruby应用程序_Ruby On Rails_Apache2_Passenger - Fatal编程技术网

Ruby on rails 在多个环境中运行同一个Ruby应用程序

Ruby on rails 在多个环境中运行同一个Ruby应用程序,ruby-on-rails,apache2,passenger,Ruby On Rails,Apache2,Passenger,我正在本地开发一个Ruby应用程序,并希望同时设置一个生产和开发环境。我打算像登台服务器一样在本地使用生产,向我的客户机演示代码库的当前状态。但是,我想运行一个实际的开发环境,使用不同的设置供我个人使用 我打算使用虚拟主机来区分这两个站点。无论我如何尝试更改Apache+Passenger中的设置,它们都运行在相同的环境中(无论是生产环境还是开发环境)。如何使相同的代码库针对不同的虚拟主机在不同的环境中运行 /etc/apache2/sites available/app.conf: <V

我正在本地开发一个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>
<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>


这是一个更容易解决你问题的方法。如果你把一切都设置好的话,它不会运行得那么快,但是设置起来会非常容易。

这是解决问题的一个非常简单的方法。如果你把一切都设置好的话,它不会运行得那么快,但是设置起来会非常容易。

这是解决问题的一个非常简单的方法。如果你把一切都设置好的话,它不会运行得那么快,但是设置起来会非常容易。

这是解决问题的一个非常简单的方法。如果你把一切都安排好,它不会跑得那么快,但是设置起来非常简单。

给每个应用程序vhost一个不同的PassengerAppGroupName,以便Phusion Passenger将其视为不同的应用程序。

给每个应用程序vhost一个不同的PassengerAppGroupName,以便Phusion Passenger将其视为不同的应用程序。

给每个应用程序vhost一个不同的PassengerAppGroupName,以便Phusion乘客将它们视为不同的应用程序。

给每个应用程序vhost一个不同的PassengerAppGroupName,以便Phusion乘客将它们视为不同的应用程序。

我可能会看到这一点,但它仍然不能解决主要问题,那就是我希望开发环境适合本地使用(禁用缓存类等,使其对开发人员友好),但也希望客户机呈现方式有所不同(预编译的资产、高速缓存、单独的数据库等),它可以提供所有这些功能。它提供的只是一种安全的方式,可以通过隧道将您在本地打开的任何端口连接到internet。无论你在本地做什么都取决于你。是的,但我要说的是,这是整个设置中我没有遇到问题的部分;我正在为远程域执行路由器端口转发和ApacheServerAlias,这部分工作正常。不起作用的是,不管其他设置参数如何,我似乎无法使这两个实例在不同的环境中运行。改变外部隧道本身并不能解决这个问题。有人知道为什么它不能按原样工作吗?我可能会这样看,但它仍然不能解决主要问题,那就是我希望开发环境可以用于本地(禁用缓存类等,使其对开发人员友好),但也希望客户端呈现有所不同(资产预编译、高速缓存、独立数据库等)它可以提供所有这些功能。它提供的只是一种安全的方式,可以将您在本地打开的任何端口隧道到internet。您在本地执行的任何操作都取决于您。是的,但我要说的是,这是整个设置的一部分,我没有遇到任何问题;我正在为远程doma执行路由器端口转发和Apache服务器别名在中,该部分正在工作。不起作用的是,不管其他设置参数如何,我似乎无法使两个实例都在不同的环境中运行。更改外部隧道本身并不能解决这一问题。有人知道它为什么不能按原样工作吗?我可能会看到这一点,但它仍然不能解决主要问题,那就是我nt本地使用的开发环境(禁用缓存类等,使其对开发人员友好),但也希望客户端呈现有所不同(预编译的资产、高速缓存、单独的数据库等)它可以提供所有这些功能。它提供的只是一种安全的方式,可以将您在本地打开的任何端口隧道到internet。您在本地执行的任何操作都取决于您。是的,但我要说的是,这是整个设置的一部分,我没有遇到任何问题;我正在为远程doma执行路由器端口转发和Apache服务器别名在中,该部分正在工作。不起作用的是,不管其他设置参数如何,我似乎无法使两个实例都在不同的环境中运行。更改外部隧道本身并不能解决这一问题。有人知道它为什么不能按原样工作吗?我可能会看到这一点,但它仍然不能解决主要问题,那就是我nt本地使用的开发环境(禁用缓存类等,使其对开发人员友好),但也希望客户端呈现有所不同(预编译的资产、高速缓存、单独的数据库等)它可以提供所有这些功能。它提供的只是一种安全的方式,可以将您在本地打开的任何端口隧道到internet。您在本地执行的任何操作都取决于您。是的,但我要说的是,这是整个设置的一部分,我没有遇到任何问题;我正在为远程doma执行路由器端口转发和Apache服务器别名在中,该部分正在工作。不起作用的是,不管其他设置参数如何,我似乎无法使两个实例在不同的环境中运行。更改外部隧道本身并不能解决这一问题。有人知道它为什么不能正常工作吗?太棒了。最后,我还没有看到此选项在任何地方被引用。你是如何学会的关于它?我想知道我是否应该使用一些乘客参考资料。我是Phusion乘客作者之一。该选项仍然需要记录。令人惊讶。最后。我还没有看到任何地方引用过该选项。你是如何了解它的?我想知道我是否应该使用一些乘客参考资料。我继续Phusion乘客的姓名