我正在尝试在 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'
我已经搜索了这些答案几天(超过一周),发现知道将什么放在配置文件中的位置非常令人困惑,尤其是独角兽。我希望有人能在我发疯之前“启发”我 :)
非常感谢!