发布于 2015-01-10 07:23:08 | 259 次阅读 | 评论: 0 | 来源: PHPERZ
Ruby on Rails 开源网络应用框架
Ruby on Rails 是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型- 视图- 控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,Rails 为你提供一个纯Ruby的开发环境。发布网站时,你只需要一个数据库和一个网络服务器即可。
本文为大家提供的是在阿里云Linux系统上安装Ruby On Rails生产环境的教材,感兴趣的同学参考下。
下载一键安装web全环境 sh.zip 压缩包
上传至服务器,解压、执行脚本
$ mv sh.zip /home/tmp/ & cd /home/tmp
$ unzip sh.zip
$ chmod -R 777 sh & cd sh
# 任意选择一种方法执行脚本
# 方法一
$ ./install.sh
# 方法二
$ ./install_nginx_xxx.sh
$ ./install_mysql_xxx.sh
安装RVM与指定的Ruby版本
$ curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3
# 注意安装完成后,根据提示执行source命令
查看是否安装成功
$ ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]
$ gem -v
2.1.9
更换 gem source,提高gem下载速度
$ gem source -r https://rubygems.org/ $ gem source -a http://ruby.taobao.org
安装git工具
$ yum install git
编译node.js(javascript运行时环境)
$ git clone https://github.com/joyent/node.git
$ cd node
$ ./configure && make && make install
#如果无法编译,说名需要叫python升级到2.6或2.7
#如果缺少bz2,需要yum install bzip2-devel后,重新编译python
克隆你的项目
$ git clone path/to/your/project.git
# 安装项目指定gem包
$ cd path/to/your/project
$ bundle install
查看unicorn配置实例 config/unicorn.rb
启动unicron生产环境
$ unicorn_rails -c config/unicorn.rb -E production -D
关闭unicorn进程
$ kill -9 $(cat tmp/pids/unicorn.pid )
添加nginx虚拟主机配置
$ vim /path/to/your/nginx/vhosts/xxxx.conf
配置内容(将汉字替换成相应有效内容):
upstream unicorn_server
{
server unix:项目根目录/tmp/sockets/unicorn.sock fail_timeout=0;
}
server
{
listen 80;
server_name 域名;
root 项目根目录/public;
location /
{
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering on;
if (!-f $request_filename) {
proxy_pass http://unicorn_server;
break;
}
}
location ~ ^/(assets)/
{
expires max;
add_header Cache-Control public;
}
}
低内存服务器添加内存释放任务
$ vim /etc/crontab
在最后一行添加如下内容(每天凌晨1点释放内存):
00 1 * * * echo 3 > /proc/sys/vm/drop_caches
一套常用配置信息 nginx + unicorn