最近写了好多个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。要是早发现这点,就不用妄废我那么多时间精力了。

RubyOnRails终极部署相关推荐

  1. Ruby on Rails 终极部署方案 nginx+mina+puma

    搭建工具介绍 Ruby on Rails作为一款十分优秀的web开发框架,在当前web领域中慢慢占据了越来越重要,秉承rails快速开发的特点,很多快速部署rails的方案也越来越多.这篇文章中所选的 ...

  2. 游戏服务器开源框架(xinyue-game-frame)

    今天给大家介绍一个开源的游戏框架,它是基于Spring Cloud + Netty实现的一个分布式游戏服务器框架,支持负载均衡,集群部署,动态扩展和伸缩,能基本满足休闲游,卡牌游戏,SLG游戏的服务器 ...

  3. Palo Alto PAN-OS 10.1 for vSphere KVM -- 基于机器学习的新一代防火墙

    Palo Alto Networks PAN-OS 10: World's First ML-Powered NGFW 请访问原文链接:https://sysin.org/blog/pan-os-10 ...

  4. 个人博客 | 网站部署终极操作:一行命令搞定!

    视频教程: CodeSheep羊哥的视频:个人博客 | 网站部署终极操作:一行命令搞定! docker-compose.yml version: '3.3'services:db:image: mys ...

  5. python模型部署方法_终极开箱即用的自动化Python模型选择方法

    python模型部署方法 Choosing the best model is a key step after feature selection in any data science proje ...

  6. 终极实践:部署LNMP服务

    部署LNMP服务 服务器系统:CentOS 7.7 准备工作 安装编译环境 首先要让安装主机具备编译程序源码的环境.这需要具备C语言.C++语言.Perl语言的编译器,以及各种常见的编译支持函数库程序 ...

  7. 专题篇四:Linux企业级CICD持续集成交付发布(终极实战部署:gitlab++jenkins+web(tomcat)+webbook自动发布)

    4,企业级CI/CD 持续集成/交付/发布 实验一:github+jenkins+web(tomcat) 构建的时候 网络连接超时(正常现象) githud仓库地址1.安装对应的插件(jenkins) ...

  8. bevfusion部署服务器超级终极版

    论文地址:https://bevfusion.mit.edu/ 项目地址:https://github.com/mit-han-lab/bevfusion 话不多说直接干货 conda create ...

  9. 互联网巨头终极战场:得开发者得天下

    撰文:火柴Q 编辑:甲小姐 转载自甲子光年(ID:jazzyear) 1983 年,一批开发者受邀到加州蒙特利(Monterey)参加苹果开发者大会,这是本周二刚开幕的第25届WWDC(苹果世界开发者 ...

  10. Yann LeCun:发现智能原理是AI的终极问题 | 独家对话

    导读:在<科学之路:人,机器与未来>一书中,图灵奖得主,卷积网络之父杨立昆(Yann LeCun)提出,在科学史上,技术产品的出现往往先于解释其工作的理论和科学.发现智能工作的潜在机制和原 ...

最新文章

  1. 基于线段的激光雷达和单目联合曲面重建
  2. 二叉树中序遍历方法实现
  3. python关系图谱_文本分析之制作网络关系图
  4. 使用BeetleX网关部署第三方Web服务
  5. 《iVX 高仿美团APP制作移动端完整项目》03 推介信息及推荐商家分析及制作
  6. Madagascar和MPI混合编程的Makefile文件配置
  7. java学习之流程控制
  8. 局域网中搜计算机无法访问,怎么找不到共享电脑,手把手教你局域网中共享电脑找不到怎么办...
  9. iOS6与iOS7屏幕适配技巧
  10. MySQL Password Expired
  11. 【python练习题01】字符串格式化输出
  12. java简单窗口程序_一个简单的java窗口程序
  13. Dubbo视频教程--基础篇--第06节--Dubbo管理控制台的安装
  14. jdk18安装详细教程
  15. 缠中说禅电子书_缠中说禅108课PDF电子书
  16. 何为自动化测试?(纯干货)
  17. halcon多模板匹配,每种模板匹配结果不同颜色轮廓
  18. 2022年电工(初级)考试报名及电工(初级)最新解析
  19. 电销CRM客户关系管理系统开发12大核心功能
  20. 深度学习在恶意代码检测方面的应用简单调研

热门文章

  1. SCM提升供应链管理效率
  2. 主流百兆交换机芯片介绍
  3. PMP模拟题200道,中英双对照,附答案解析
  4. windows server 2008 R2开启ftp服务
  5. 【Python建模环境搭建】PyCharm的安装配置以及建模插件Matplotlib的安装
  6. 6*6数独,要求输出结果
  7. 汽车车载诊断基础知识
  8. win10电脑虚拟网络设置方法
  9. MFC控件背景透明处理
  10. 应急响应的基本流程(建议收藏)