Ruby on rails 为什么赢了';Huginn特工对网络派系采取行动?
我可以构建一个VPS或部署到PaaS,但我决定继续使用我的帐户,因为我非常确定这是可能的,我只是没有得到rails部署 经过数小时的黑客攻击,我最终得到了一个跑步应用程序。我无法运行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
foreman start
,这是一个可以解决问题的神奇命令,所以我不知道还能做什么
我是怎么来的
我习惯于PHP,这些部署对我来说是陌生的,所以我确信问题出在椅子和键盘之间
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
以调整路径(见下文).env
,指向具有有效凭据的新MySQL数据库。添加了一个随机生成的APP\u SECRET\u令牌
,设置主机名和电子邮件配置~/webapps/huginn/huginn
运行gem2.1安装包,ruby2.1 bin/bundle
,ruby2.1 bin/bundle执行rake db:migrate
,ruby2.1 bin/bundle执行rake db:seed
,一切顺利;安装到huginn目录的依赖项、填充的数据库等
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--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内存限制的问题,因此我又开始讨论其他问题