1

我正在尝试在 DigitalOcean VPS 上运行 Rails 应用程序。服务器运行 Nginx 和 Unicorn。当我使用 Capistrano 时,将应用程序推送到服务器后的路径是

/var/www/myapp/current/

我正在使用 DigitalOcean 的预配置液滴,它似乎被配置为在以下路径搜索应用程序

/home/rails/

我尝试将其更改如下:

在 etc/nginx/nginx.conf

root /var/www/

在 home/unicorn/unicorn.conf

APP_PATH = "/var/www/"
working_directory APP_PATH
stderr_path APP_PATH + "/log/unicorn.stderr.log"
stdout_path APP_PATH + "log/unicorn.stdout.log"
pid APP_PATH + "/tmp/pic/unicorn.pid"

我遵循了这些教程: http ://sirupsen.com/setting-up-unicorn-with-nginx/

这些是托管方的“官方”教程: https ://www.digitalocean.com/community/articles/how-to-1-click-install-ruby-on-rails-on-ubuntu-12-10-with -digitalocean https://www.digitalocean.com/community/articles/an-insight-into-the-configuration-of-capistrano-1

此时,当我尝试重新启动 Unicorn 时出现以下错误:

parse_rackup_file': rackup file (service) not readable (ArgumentError)

这是因为路径错误吗?此外,由于这是我的第一个 vps 部署(capistrano、unicorn、nginx),我对一些事情有点不确定:

我有多个独角兽目录吗?预配置的 vps 在主目录中有一个 unicorn 文件夹,就在我无法使用的 rails 目录旁边,因为 capistrano 将“当前”目录添加到部署中。出于某种原因,我是否需要将此 unicorn 目录移动到我的 /var/www/ 文件夹中?

我的第三个也是最后一个问题:我注意到在读取服务器日志时,我看到很多关于丢失 gem 的错误消息。“捆绑安装”没有帮助。我已经找到了解决方案,但它似乎无法正常工作。我必须将以下内容添加到 capistrano 配置文件的顶部是否正确?

require 'rvm/capistrano'

我已经搜索了这些答案几天(超过一周),发现知道将什么放在配置文件中的位置非常令人困惑,尤其是独角兽。我希望有人能在我发疯之前“启发”我 :)

非常感谢!

4

0 回答 0