Digitalocean - 在同一个Droplet上运行多个应用程序?

时间:2014-06-26 19:21:38

标签: ruby-on-rails digital-ocean

是否可以在同一个DigitalOcean Droplet上运行多个Rails应用程序?

4 个答案:

答案 0 :(得分:3)

我建议使用Dokku和Docker,它允许您将应用程序彼此并存。 Digital Ocean提供一键安装。我刚开始使用它并以这种方式部署,到目前为止真的很喜欢它。

以下是一些链接:

  1. http://reallybusywizards.com/dokku-digitalocean-your-very-own-cheap-heroku-clone/
  2. https://www.andrewmunsell.com/blog/dokku-tutorial-digital-ocean
  3. https://www.digitalocean.com/community/tutorials/how-to-use-the-dokku-one-click-digitalocean-image-to-run-a-node-js-app

答案 1 :(得分:2)

是的,你可以这样做,你只需要配置你的应用服务器,我用nginx完成了这个,非常安静。 使用Nginx服务器应用程序从服务器安装程序和rails应用程序开始本教程非常酷:

Tutorial DigitalOcean

执行此操作后,打开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;从第一个服务器块