当前位置: 首页 > news >正文

RubyOnRails终极部署

最近写了好多个ror的项目,学校的博物馆主页,招生就业处的网站,学生公寓管理中心的网站,还有一个fancy book项目,在线书籍编辑平台,fancy hit,是工大的类fancy平台,叫二手实在是太土了。geek云集的地方,彼此交流是必要的嘛。

但是,这么多项目,在我的服务器上只能用端口形式,不是很憋屈吗。于是我开了多个二级域名。打算将他们都部署起来。无奈passenger是个很难整的组件,好在现在我解决了。

passenger怎么实现的我是不清楚。

总之 需要先 gem install passenger 安装passenger的组件

之后是 passenger-install-nginx-module 安装nginx

但是,平时开发是在development的环境下的。。passenger只能部署项目的production版本

于是我们需要在 在 config/database.yml 添加下production版本的配置


之后需要

bundle exec rake RAILS_ENV=production db:create

bundle exec rake RAILS_ENV=production db:migrate

将production的数据库创建,并改变表结构


这是其实production的配置已经完成了


说下nginx 下server的配置项,在/path/nginx/conf/nginx.conf 中修改配置文件,添加如下:

   server {
      listen 80;
      server_name mrpeach.me;
      root /home/cain/bookwiki/public;   # <--- be sure to point to 'public'!
      passenger_enabled on;
   }

这里我是将我的bookwiki项目给部署了。所以有注释那行的路径大家应该能看懂。


之后改下.bash_profile 添加

# restart nginx
alias startnginx='sudo /home/cain/nginx/sbin/nginx'
alias killnginx='sudo kill `cat /home/cain/nginx/logs/nginx.pid`'
alias restartnginx='killnginx; startnginx'

这样以后在console里就能 用 restartnginx 快速重启nginx了。是不是很high。alias是命令重写,可以简单组合bash代码变成一条新命令,很方便的


这时访问我的域名 mrpeach.me 会出现something wrong的错误。

于是我去看了下位于 bookwiki/log/production.log 的log文件,发现说

ActionView::Template::Error (application.css isn't precompiled):

这是因为此时,rails已经不全是运行时加载了。里面的全局设置项,类似于全局css文件,都是编译过的了。

所以我将 config/environments/production.rb 里的配置项

config.assets.compile = true
改成如上那样,意思就是字面意思。

保存后运行

bundle exec rake assets:precompile
就ok啦

这时终端下 restartnginx重启 nginx。。再访问就没有问题了。


关于用passenger部署,我折腾了好久才搞明白。其实它就是不能部署development。要是早发现这点,就不用妄废我那么多时间精力了。

http://www.xdnf.cn/news/819991.html

相关文章:

  • 开源.net框架的CMS
  • 网页设计零基础教程:快速掌握制作技巧
  • 黑莓手机刷linux,【教程】黑莓手机 BlackBerry DM6.0 完整刷机教程 含瘦身方法...
  • 看懂影片标题,各种电影视频格式标题的含义
  • 语音编程之Speech SDK概述(1)
  • PLSQL专项学习之SYS_CONTEXT
  • 【转】OrCAD 16.3安装和破解方法
  • 第五届管理科学与工程管理国际学术会议 2024 5th International Conference on Management Science and Engineering Manage
  • 电脑桌面图标变大了怎么恢复?5种简单方法帮你恢复正常
  • 不得不知的3个现货白银的基本规则!第3个很多人都忽略了
  • PKI/CA与数字证书学习笔记
  • c语言编程题经典100例
  • SmartUpload组件实现文件上传
  • 数据库是什么
  • 网页三剑客
  • 一步一步指导 车机的备份 掌迅92XX系列固件导出步骤
  • codejock中托盘的实现
  • 一步一步搭建11gR2 rac+dg之安装rac出现问题解决(六)
  • Android 初始化Setup Wizard——Provision
  • 软考 | 2012年上半年 软件设计师 下午试卷
  • 个人博客论坛系统测试报告
  • 高等数学基础篇(数二)之二重积分(解析版)
  • Zero Sum 和为零
  • 【AI】2114- 汇总 11 个 AI 领域的优质飞书知识库,完全免费,赶紧收藏起来!
  • 【高校主办!国际高级别组委加入!EIScopus检索】2024年经济决策与人工智能国际学术会议 (EDAI 2024)
  • 什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!
  • centos7下升级openssh9.6版本以上远程连接报ssh服务器不能连接错误
  • Windows运行命令大全
  • 这儿有你所需要的所有关于科研的网址
  • Linux 命令chmod(文件管理)