Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么赢了';Huginn特工对网络派系采取行动?_Ruby On Rails_Ruby_Web Deployment_Webfaction - Fatal编程技术网

Ruby on rails 为什么赢了';Huginn特工对网络派系采取行动?

Ruby on rails 为什么赢了';Huginn特工对网络派系采取行动?,ruby-on-rails,ruby,web-deployment,webfaction,Ruby On Rails,Ruby,Web Deployment,Webfaction,我可以构建一个VPS或部署到PaaS,但我决定继续使用我的帐户,因为我非常确定这是可能的,我只是没有得到rails部署 经过数小时的黑客攻击,我最终得到了一个跑步应用程序。我无法运行foreman start,这是一个可以解决问题的神奇命令,所以我不知道还能做什么 我是怎么来的 我习惯于PHP,这些部署对我来说是陌生的,所以我确信问题出在椅子和键盘之间 使用Rails 4.1.8(nginx 1.6.2/Passenger 4.0.53/Ruby 2.1.2)创建了一个名为huginn的新W

我可以构建一个VPS或部署到PaaS,但我决定继续使用我的帐户,因为我非常确定这是可能的,我只是没有得到rails部署

经过数小时的黑客攻击,我最终得到了一个跑步应用程序。我无法运行
foreman start
,这是一个可以解决问题的神奇命令,所以我不知道还能做什么

我是怎么来的 我习惯于PHP,这些部署对我来说是陌生的,所以我确信问题出在椅子和键盘之间

  • 使用Rails 4.1.8(nginx 1.6.2/Passenger 4.0.53/Ruby 2.1.2)创建了一个名为huginn的新Web派系应用程序
  • 克隆到Webfaction初始化的
    hello\u world
    示例应用程序旁边的自己的文件夹中。(
    ~/webapps/huginn/huginn/
  • 编辑
    ~/webapps/nginx/conf/nginx.conf
    (来自Web派系的初始化脚本),指向我克隆的
    huginn
    文件夹,而不是
    hello\u world
    。将
    GEM_HOME
    更改为
    /HOME/foo/webapps/huginn/huginn/gems
    ,而不是
    /HOME/foo/webapps/huginn/gems
    root
    更改为
    /HOME/foo/webapps/huginn/public
    ,以及
    rails\u env
    更改为
    生产
  • 编辑
    ~/webapps/huginn/bin/start
    以调整路径(见下文)
  • 正确复制并配置Huginn的
    .env
    ,指向具有有效凭据的新MySQL数据库。添加了一个随机生成的
    APP\u SECRET\u令牌
    ,设置主机名和电子邮件配置
  • 使用将应用程序bin、path和gems添加到path
  • ~/webapps/huginn/huginn
    运行
    gem2.1安装包
    ruby2.1 bin/bundle
    ruby2.1 bin/bundle执行rake db:migrate
    ruby2.1 bin/bundle执行rake db:seed
    ,一切顺利;安装到huginn目录的依赖项、填充的数据库等
  • 运行ruby2.1 bin/bundle exec FORMAN start后失败:
  • 16:50:03 web.1 |从pid 7115开始
    16:50:03作业。1 |从pid 7116开始
    16:50:06 jobs.1 |/home/foo/webapps/huginn/huginn/gems/gems/spring-1.1.3/lib/spring/server.rb:22“初始化”中:权限被拒绝@rb|u sysopen-/tmp/spring/e89e6bd5b6863aeed0fbb5c861bc2d.pid(Errno::EACCES)

  • 返回并运行
    ~/webapps/huginn/bin/stop
    ~/webapps/huginn/bin/start
    ,应用程序奇迹般地开始在我的浏览器中工作。除了代理之外,代理不按计划执行任何操作或尝试手动运行它们
  • 我怀疑在环境变量和ruby版本方面我遗漏了一些东西。可以使用各种ruby版本,但是
    ruby--version
    输出
    ruby 1.8.7(2013-06-27 patchlevel 374)[x86\u 64-linux]
    。甚至我也发现有不同版本的符号链接,所以
    ruby2.1--version
    让我
    ruby 2.1.2p95(2014-05-08修订版45877)[x86_64-linux]
    。我猜这个应用程序使用的是Ruby 1.8.7,我试着用它运行-我没有通过
    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;
        }
    }
    
    ~/webapps/huginn/bin/start

    #!/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/
    

    多亏了WebPosition的John的帮助,它归结为设置一个自定义临时目录,可以用我的帐户写入该目录

    mkdir -p $HOME/tmp
    export TEMP=$HOME/tmp
    
    果然,运行
    ruby2.1 bin/bundle exec foreman start
    运行得很好,代理们活跃了起来

    然后,我很快就遇到了512MB内存限制的问题,因此我又开始讨论其他问题