3

此处为 RoR。我正在使用 git clone 将应用程序从我的 mac 移动到我的树莓派上。克隆发生后,我做到了 bundle install

然后我安装了乘客和 nginx:

gem install passenger
rvmsudo passenger-install-nginx-module

设置数据库并播种

rvmsudo rake db:setup RAILS_ENV=production

然后按照指南设置 nginx 以在启动时加载。复制/粘贴 nginx 文件

sudo cp /var/www/monsterpi/nginx /etc/init.d/

在配置文件中进行了更改

sudo nano /opt/nginx/conf/nginx.conf

看起来像这样

    server { 
    listen 80; 
    server_name monsterpi.kendrickcoleman.c0m; 
    passenger_enabled on; 
    root /var/www/monsterpi/public; 
    error_log /var/log/nginxerror.log;
    access_log /var/log/nginxaccess.log;
     }

然后运行这些命令来完成它

sudo chmod +x /etc/init.d/nginx
sudo /usr/sbin/update-rc.d nginx defaults
sudo /etc/init.d/nginx start

当我在 Monsterpi.kendrickcoleman.c0m 访问我的服务器时,它可以工作。我可以看到我的静态主页。但是,当我添加或编辑数据库条目时,我得到一个 502 Bad Gateway | nginx/1.4.2 错误页面。

在查看 production.log 时,乘客正在加载编辑页面 I,[2013-09-20T04:19:06.355495 #2619] INFO -- : Started GET "/rasberry_pis/1/edit" for 192.168.10.112 at 2013-09 -20 04:19:06 +0000 I,[2013-09-20T04:19:06.373544 #2619] 信息 -- :由 RasberryPisController#edit 处理为 HTML I,[2013-09-20T04:19:06.376013 #2619] INFO -- : 参数: {"id"=>"1"} I, [2013-09-20T04:19:06.509689 #2619] INFO -- : 渲染 rasberry_pis/_form.html.erb (100.2ms) I, [ 2013-09-20T04:19:06.521555 #2619] 信息——:在布局/应用程序(114.4 毫秒)内渲染 rasberry_pis/edit.html.erb,[2013-09-20T04:19:06.545626 #2619] 信息—— : 渲染布局/_header.html.erb (9.1ms) I, [2013-09-20T04:19:06.555961 #2619] INFO -- : 渲染布局/_footer.html.erb (5.1ms) I, [2013-09 -20T04:19:06。561765 #2619] 信息 -- :在 182 毫秒内完成 200 次 OK(查看次数:158.2 毫秒 | ActiveRecord:2.2 毫秒)

一旦我按下提交按钮,乘客日志就不再包含任何条目。出现 502 Bad Gateway 页面。每次我单击提交时,nginxerror.log 都会填充一个条目。

2013/09/20 04:19:11 [错误] 2253#0: *17 上游过早关闭连接,同时从上游读取响应标头,客户端:192.168.10.112,服务器:monsterpi.kendrickcoleman.c0m,请求:“POST /rasberry_pis /1 HTTP/1.1”,上游:“passenger:/tmp/passenger.1.0.2207/generation-0/request:”,主机:“monsterpi.kendrickcoleman.c0m”,引荐来源:“ http://monsterpi.kendrickcoleman。 c0m/rasberry_pis/1/编辑"

我已经改变了我的 database.yml 让 sqlite3 指向绝对路径

production:
  adapter: sqlite3
  database: /var/www/monsterpi/db/production.sqlite3
  pool: 5
  timeout: 5000

一切都很完美, rails s -e production 我已经用谷歌搜索了,似乎找不到答案。任何帮助表示赞赏。谢谢

4

1 回答 1

1

所以在处理完这个之后,我最终刮伤了乘客并变瘦了。我认为问题在于 Raspberry Pi 没有足够的可用内存。此外,thin 更容易配置。使用薄,我在几分钟内就运行了这个。我现在将这种类型的设置用于需要部署在自己的服务器上的所有 Rails 应用程序。

我已经在我的项目主页上详细介绍了如何创建 nginx + Thin 配置的步骤。从第 3 步开始,我将在其中讨论安装 Thin Rails 服务器。根据您计划使用多少精简实例来更改配置以用于您自己的目的。

http://kendrickcoleman.com/index.php/Ruby-on-Rails-Projects/introducing-the-monsterremote-for-the-monstershield.html

于 2013-11-06T18:22:33.833 回答