此处为 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
我已经用谷歌搜索了,似乎找不到答案。任何帮助表示赞赏。谢谢