我可以整理VPS或部署到PaaS,但我决定让Huginn在我的Webfaction帐户上工作,因为我很确定这是可能的,我只是不这样做获得rails部署。
经过数小时的黑客攻击,我最终得到了一个正在运行的应用whose Agents do nothing。我无法运行foreman start
,这是一个应该解决问题的神奇命令,所以我不确定还能做什么。
我已经习惯了PHP,这些部署对我来说很陌生,所以我确定椅子和键盘之间存在问题......
huginn
的新Webfaction应用程序。hello_world
示例应用旁边的自己的文件夹中。 (~/webapps/huginn/huginn/
)~/webapps/nginx/conf/nginx.conf
(来自Webfaction的init脚本)指向我克隆的huginn
文件夹,而不是hello_world
。已将GEM_HOME
更改为/home/foo/webapps/huginn/huginn/gems
而非/home/foo/webapps/huginn/gems
,将root
更改为/home/foo/webapps/huginn/huginn/public
,将rails_env
更改为production
。~/webapps/huginn/bin/start
以调整路径(见下文)。.env
,指向具有有效凭据的全新MySQL数据库。添加了随机生成的APP_SECRET_TOKEN
,设置了主机名和电子邮件配置。~/webapps/huginn/huginn
开始,gem2.1 install bundle
,ruby2.1 bin/bundle
,ruby2.1 bin/bundle exec rake db:migrate
,ruby2.1 bin/bundle exec rake db:seed
,一切顺利;安装到huginn目录,数据库填充等的依赖项ruby2.1 bin/bundle exec foreman start
并失败:16:50:03 web.1 |从pid 7115开始 16:50:03就业1 |从pid 7116开始 16:50:06就业1 | /home/foo/webapps/huginn/huginn/gems/gems/spring-1.1.3/lib/spring/server.rb:22:in`initialize':权限被拒绝@ rb_sysopen - /tmp/spring/e89e6bd5b6863aeed0fbb5c861b1fc2d.pid(错误号:: EACCES)
~/webapps/huginn/bin/stop
,~/webapps/huginn/bin/start
,该应用程序奇迹般地开始在我的浏览器中工作。除了代理商,它们没有按计划进行任何操作或尝试手动运行它们。我怀疑在环境变量和ruby版本方面我缺少一些东西。可以使用各种ruby版本,但ruby --version
输出ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
。即使我发现有不同版本的符号链接,因此ruby2.1 --version
会让我ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
。我的猜测是该应用程序使用的是Ruby 1.8.7,我尝试使用install rvm to select a different ruby version - 我没有通过rvm install X.X.X
,因为我不是sudoer而libyaml-devel
无法安装。
我很高兴得知我可以从已部署的应用程序目录运行ruby2.1 bin/rails s --port=22766 --environment=production
并让应用程序再次在浏览器中运行 - 但问题与非响应代理完全相同。
看起来我真的很亲密,但是我错过了一些让Huginn的经纪人瘫痪的东西。 我缺少什么?
nginx.conf
env GEM_HOME=/home/foo/webapps/huginn/huginn/gems;
worker_processes 1;
events {
worker_connections 1024;
}
http {
access_log /home/foo/logs/user/access_huginn.log combined;
error_log /home/foo/logs/user/error_huginn.log crit;
include mime.types;
passenger_root /home/foo/webapps/huginn/gems/gems/passenger-4.0.53;
passenger_ruby /home/foo/webapps/huginn/bin/ruby;
sendfile on;
passenger_max_instances_per_app 1;
rails_spawn_method conservative;
passenger_max_pool_size 2;
server {
listen 22766;
passenger_enabled on;
root /home/foo/webapps/huginn/huginn/public;
server_name localhost;
rails_env production;
}
}
〜/ web应用/ huginn /斌/开始
#!/bin/bash
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/foo/bin RUBYLIB=/home/foo/webapps/huginn/huginn/lib:$RUBYLIB TMPDIR=/home/foo/webapps/huginn/tmp PASSENGER_TMPDIR=/home/foo/webapps/huginn/tmp GEM_HOME=/home/foo/webapps/huginn/huginn/gems /home/foo/webapps/huginn/nginx/sbin/nginx -p /home/foo/webapps/huginn/nginx/
答案 0 :(得分:1)
感谢John在Webfaction的帮助,它归结为设置一个可以用我的帐户写入的自定义临时目录......
mkdir -p $HOME/tmp
export TEMP=$HOME/tmp
果然,跑步ruby2.1 bin/bundle exec foreman start
工作得很好,特工们终于活了起来。
然后我立刻就达到了我的512MB内存限制,所以它还有其他问题。