是否可以在同一个DigitalOcean Droplet上运行多个Rails应用程序?
答案 0 :(得分:3)
我建议使用Dokku和Docker,它允许您将应用程序彼此并存。 Digital Ocean提供一键安装。我刚开始使用它并以这种方式部署,到目前为止真的很喜欢它。
以下是一些链接:
答案 1 :(得分:2)
是的,你可以这样做,你只需要配置你的应用服务器,我用nginx完成了这个,非常安静。 使用Nginx服务器应用程序从服务器安装程序和rails应用程序开始本教程非常酷:
执行此操作后,打开nginx的配置文件:
sudo nano /opt/nginx/conf/nginx.conf
现在只需添加另一个块以在另一个端口上配置新应用程序,默认端口始终为80.请在此块中输入注释端口8080。
server {
listen 8080;
server_name example.com;
passenger_enabled on;
root /var/www/my_new_rails_app/public;
}
希望这有帮助!
答案 2 :(得分:1)
是强>
我目前正在这样做。如果您在Apache
文件中使用httpd.conf
,则只需指向两个不同应用程序的公用文件夹。请记住为每个地址确定不同的地址。
我使用phusion-passenger
使apache
运行轨道,我的设置如下;
<VirtualHost ####################.com:80>
ServerName ####################.com
DocumentRoot /var/www/html/first_app/current/public/
<Directory /var/www/html/first_app/current/public>
Allow from all
Options -MultiViews
</Directory>
PassengerEnabled on
#RewriteEngine On
#RewriteCond %{HTTPS} on
#RewriteRule (.*) http://www.####################.com%{REQUEST_URI}
SetEnv GEM_HOME /usr/lib/ruby/gems/1.8
</VirtualHost>
<VirtualHost second_app.####################.com:80>
ServerName second_app.####################.com
DocumentRoot /var/www/html/second_app/current/public/
<Directory /var/www/html/second_app/current/public>
Allow from all
Options -MultiViews
</Directory>
PassengerEnabled on
#RewriteEngine On
#RewriteCond %{HTTPS} off
#RewriteRule (.*) https://www.####################.com%{REQUEST_URI}
SetEnv GEM_HOME /usr/lib/ruby/gems/1.8
</VirtualHost>
答案 3 :(得分:0)
我有类似的问题,但@Leandro Figueredo的答案对我不起作用。 下面我将介绍我为实现这一目标所做的工作。
实际上我在一个小滴上有两个网站。 我使用本教程配置了我的服务器:GoRails How to setup server with Ubuntu 14.04 and nginx
此配置文件 / etc / nginx / sites-enabled / default
之后server {
listen 80;
listen [::]:80 default_server ipv6only=on;
server_name example.com www.example.com;
passenger_enabled on;
rails_env production;
root /home/user/appname/current/public;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
listen [::]:80;
server_name second_site.com www.second_site.com;
passenger_enabled on;
root /home/user/second_app/current/public;
}
重要:强> 删除default_server;从第一个服务器块