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。要是早发现这点,就不用妄废我那么多时间精力了。
RubyOnRails终极部署相关推荐
- Ruby on Rails 终极部署方案 nginx+mina+puma
搭建工具介绍 Ruby on Rails作为一款十分优秀的web开发框架,在当前web领域中慢慢占据了越来越重要,秉承rails快速开发的特点,很多快速部署rails的方案也越来越多.这篇文章中所选的 ...
- 游戏服务器开源框架(xinyue-game-frame)
今天给大家介绍一个开源的游戏框架,它是基于Spring Cloud + Netty实现的一个分布式游戏服务器框架,支持负载均衡,集群部署,动态扩展和伸缩,能基本满足休闲游,卡牌游戏,SLG游戏的服务器 ...
- 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 ...
- 个人博客 | 网站部署终极操作:一行命令搞定!
视频教程: CodeSheep羊哥的视频:个人博客 | 网站部署终极操作:一行命令搞定! docker-compose.yml version: '3.3'services:db:image: mys ...
- python模型部署方法_终极开箱即用的自动化Python模型选择方法
python模型部署方法 Choosing the best model is a key step after feature selection in any data science proje ...
- 终极实践:部署LNMP服务
部署LNMP服务 服务器系统:CentOS 7.7 准备工作 安装编译环境 首先要让安装主机具备编译程序源码的环境.这需要具备C语言.C++语言.Perl语言的编译器,以及各种常见的编译支持函数库程序 ...
- 专题篇四:Linux企业级CICD持续集成交付发布(终极实战部署:gitlab++jenkins+web(tomcat)+webbook自动发布)
4,企业级CI/CD 持续集成/交付/发布 实验一:github+jenkins+web(tomcat) 构建的时候 网络连接超时(正常现象) githud仓库地址1.安装对应的插件(jenkins) ...
- bevfusion部署服务器超级终极版
论文地址:https://bevfusion.mit.edu/ 项目地址:https://github.com/mit-han-lab/bevfusion 话不多说直接干货 conda create ...
- 互联网巨头终极战场:得开发者得天下
撰文:火柴Q 编辑:甲小姐 转载自甲子光年(ID:jazzyear) 1983 年,一批开发者受邀到加州蒙特利(Monterey)参加苹果开发者大会,这是本周二刚开幕的第25届WWDC(苹果世界开发者 ...
- Yann LeCun:发现智能原理是AI的终极问题 | 独家对话
导读:在<科学之路:人,机器与未来>一书中,图灵奖得主,卷积网络之父杨立昆(Yann LeCun)提出,在科学史上,技术产品的出现往往先于解释其工作的理论和科学.发现智能工作的潜在机制和原 ...
最新文章
- 基于线段的激光雷达和单目联合曲面重建
- 二叉树中序遍历方法实现
- python关系图谱_文本分析之制作网络关系图
- 使用BeetleX网关部署第三方Web服务
- 《iVX 高仿美团APP制作移动端完整项目》03 推介信息及推荐商家分析及制作
- Madagascar和MPI混合编程的Makefile文件配置
- java学习之流程控制
- 局域网中搜计算机无法访问,怎么找不到共享电脑,手把手教你局域网中共享电脑找不到怎么办...
- iOS6与iOS7屏幕适配技巧
- MySQL Password Expired
- 【python练习题01】字符串格式化输出
- java简单窗口程序_一个简单的java窗口程序
- Dubbo视频教程--基础篇--第06节--Dubbo管理控制台的安装
- jdk18安装详细教程
- 缠中说禅电子书_缠中说禅108课PDF电子书
- 何为自动化测试?(纯干货)
- halcon多模板匹配,每种模板匹配结果不同颜色轮廓
- 2022年电工(初级)考试报名及电工(初级)最新解析
- 电销CRM客户关系管理系统开发12大核心功能
- 深度学习在恶意代码检测方面的应用简单调研