重构-基于Rails:Engine的Rails网站系统拆分

网站做着做着就会发现整个系统越来越庞大,如电商网站你需要有电商系统和后台管理系统,甚至还有仓储系统或者API系统,把这些系统都放在一个网站应用里就会发现网站代码异常庞大,而且每个系统的更新频率会被限制成一样,后台系统无法实现快速开发,所以也就想到了网站的系统服务。现在比较流行网站系统拆分是微服务架构,但是这是比较复杂的拆分,一般网站还到达不了这个地步,这篇介绍基于Rails:Engine的Rails网站系统拆分。

继续阅读重构-基于Rails:Engine的Rails网站系统拆分

使用docker快速构建rails开发环境

发现最近国内获取Docker镜像速度明显上升,所以开始正式的玩Docker了,这篇文章介绍使用Docker来快速构建Rails开发环境,系统环境为MAC OSX, Rails依赖于Redis以及Postgresql.所以主要包括Rails以及Redis和Postgres三大组件。 使用的Docker工具为docker-compose.

继续阅读使用docker快速构建rails开发环境

Ruby on Rails网站大型化之静态资源CDN架构

rails是个很成熟的网站开发架构,设计者也与时俱进把很多先进的技术与架构集成到rails中,造就了其他框架无法比拟的开发效率。网站发展到一定程度,网站流量越来越大就不能把静态文件请求和动态网页请求放到同一台服务器。因为静态资源的流量会远远大于动态资源的请求,流量一大,静态资源会占满服务器带宽,导致网站加载缓慢,所以cdn是必不可少的。

继续阅读Ruby on Rails网站大型化之静态资源CDN架构

rails上利用message_bus实现websocket即时通讯

最近在玩websocket,看了一下rails下的websocket方案主要有faye与message_bus等,研究了下感觉message_bus比较好集成,就是文档太少了,于是自己研究了下怎么在rails下使用。

继续阅读rails上利用message_bus实现websocket即时通讯

ubuntu下gitlab以及gitlab-ci安装笔记

今天给一台vps机器安装配置了gitlab以及gitlab-ci,花了大半天的时间,为了不让自己的辛苦再次重复,这里记录一下安装配置过程。以后再安装就快了。 gitlab的web部分使用的是rails写的,所以配置起来还是挺熟悉的。 继续阅读ubuntu下gitlab以及gitlab-ci安装笔记

Rails基于sidekiq发送异步邮件发送数据为空问题解决

前段日子给huaborn网站启用了sidekiq用于rails异步发送邮件等操作,测试时发现发送忘记密码邮件时发送的token即url参数为空,几经查询发现了新的bug.主要出现问题为sidekiq异步操作导致,解决后特此记录。

继续阅读Rails基于sidekiq发送异步邮件发送数据为空问题解决

Rails服务器异常报错-内存不足

昨晚网站监测报告网站异常死机,访问一直报50x错。半夜起来看问题,发现网站邮件并没有报错,于是ssh进服务器看日志查找问题。说下我的云服务器,配置很低1GRAM和单核CPU,运行着一个rails网站和一个wordpress博客。

继续阅读Rails服务器异常报错-内存不足

rails使用bootstrap3-wysiwyg可视化编辑器并实现自定义图片上传插入功能

之前在rails开发中使用了ckeditor作为可视化编辑器,不过感觉ckeditor过于庞大,有很多不需要的功能,而且图片上传功能不好控制不同用户可以互相删除图片,感觉很不好。于是考虑更改可视化编辑器,多方考虑选择了bootstrap3-wysiwyg,但是这个编辑器无法实现图片上传功能,还有换行使用br而不是p标签不是很好。于是考虑自定义完善其功能。

继续阅读rails使用bootstrap3-wysiwyg可视化编辑器并实现自定义图片上传插入功能

原生编译nginx使支持php-fpm以及passenger

最近想用rails写个小网站,发现要把rails工程发布成production还是要花很多功夫的.之前服务器上装的是nginx+php-fpm来支持php,为了使nginx来服务rails,就必须重新编译nginx,使之支持passenger.用nginx来服务rails大都是直接通过’passenger-install-nginx-module’实现的,但是由于之前已经装了nginx,用这个方法就不方便.本文通过原生编译nginx来使之支持passenger.

继续阅读原生编译nginx使支持php-fpm以及passenger