n00b到RoR这里。我正在使用git clone将应用程序从我的mac移动到我的覆盆子pi上。克隆发生后,我做到了
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时,乘客正在加载编辑页面 我,[2013-09-20T04:19:06.355495#2619]信息 - :开始获取“/ 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 as HTML I,[2013-09-20T04:19:06.376013#2619]信息 - :参数:{“id”=>“1”} I,[2013-09-20T04:19:06.509689#2619]信息 - :渲染rasberry_pis / _form.html.erb(100.2ms) I,[2013-09-20T04:19:06.521555#2619]信息 - :在布局/应用程序中渲染rasberry_pis / edit.html.erb(114.4ms) I,[2013-09-20T04:19:06.545626#2619]信息 - :渲染的布局/ _header.html.erb(9.1ms) I,[2013-09-20T04:19:06.555961#2619]信息 - :渲染的布局/ _footer.html.erb(5.1ms) I,[2013-09-20T04:19:06.561765#2619]信息 - :在182ms完成200 OK(浏览次数:158.2ms | ActiveRecord:2.2ms)
只要按下“提交”按钮,乘客日志就不再包含任何条目。将显示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/edit “
我已将我的database.yml更改为让sqlite3指向绝对路径
production:
adapter: sqlite3
database: /var/www/monsterpi/db/production.sqlite3
pool: 5
timeout: 5000
一切都与rails s -e production
完美配合
我用Google搜索,似乎无法找到答案。任何帮助表示赞赏。感谢
答案 0 :(得分:0)
我详细介绍了如何在项目主页上创建nginx + thin配置的步骤。从第3步开始,我将讨论如何安装瘦导轨服务器。根据您计划使用的精简实例数量,更改配置以用于您自己的目的。