我正在进行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>
答案 0 :(得分:3)
为每个应用vhost提供不同的PassengerAppGroupName,以便Phusion Passenger将它们视为不同的应用。
答案 1 :(得分:0)
这是一个更容易解决问题的方法。 https://ngrok.com/它不会像你设置的那样快速运行,但设置起来会非常容易。