QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1949|回复: 4

在阿里云 (aliyun) 服务器上搭建Ruby On Rails生产环境

[复制链接]

294

主题

319

帖子

1062

积分

中级会员

Rank: 3Rank: 3

积分
1062
发表于 2015-3-24 14:15:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最近总是在配置阿里云的服务器,遇到不少问题,现小结一下,供大家参考~~
1、阿里云的一键安装web全环境
  • 下载一键安装web全环境 sh.zip 压缩包
  • 上传至服务器,解压、执行脚本,具体步骤详见这里
    1. $ mv sh.zip /home/tmp/ & cd /home/tmp
    2. $ unzip sh.zip
    3. $ chmod -R 777 sh & cd sh

    4. # 任意选择一种方法执行脚本
    5. # 方法一
    6. $ ./install.sh

    7. # 方法二
    8. $ ./install_nginx_xxx.sh
    9. $ ./install_mysql_xxx.sh
    复制代码

2、安装RVM与指定的Ruby版本
  • 安装RVM与指定的Ruby版本
    1. $ curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3

    2. # 注意安装完成后,根据提示执行source命令
    复制代码

  • 查看是否安装成功
    1. $ ruby -v
    2. ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]

    3. $ gem -v
    4. 2.1.9
    复制代码

  • 更换 gem source,提高gem下载速度
    1. $ gem source -r https://rubygems.org/ $ gem source -a http://ruby.taobao.org
    复制代码

3、安装git、编译 javascript 运行时环境 node.js
  • 安装git工具
    1. $ yum install git
    复制代码

  • 编译node.js(javascript运行时环境)
    1. $ git clone https://github.com/joyent/node.git
    2. $ cd node
    3. $ ./configure && make && make install

    4. #如果无法编译,说名需要叫python升级到2.6或2.7
    5. #如果缺少bz2,需要yum install bzip2-devel后,重新编译python
    复制代码

  • 克隆你的项目
    1. $ git clone path/to/your/project.git

    2. # 安装项目指定gem包
    3. $ cd path/to/your/project
    4. $ bundle install
    复制代码

4、配置unicorn文件并运行生产环境
  • 查看unicorn配置实例 config/unicorn.rb
  • 启动unicron生产环境
    1. $ unicorn_rails -c config/unicorn.rb  -E production -D
    复制代码

  • 关闭unicorn进程
    1. $ kill -9 $(cat tmp/pids/unicorn.pid )
    复制代码

5、配置nginx虚拟主机
  • 添加nginx虚拟主机配置
    1. $ vim /path/to/your/nginx/vhosts/xxxx.conf
    复制代码

  • 配置内容(将汉字替换成相应有效内容):
    1. upstream unicorn_server
    2. {
    3.   server unix:项目根目录/tmp/sockets/unicorn.sock fail_timeout=0;
    4. }
    5. server
    6. {
    7.   listen       80;
    8.   server_name  域名;
    9.   root 项目根目录/public;

    10.   location /
    11.   {
    12.     proxy_redirect off;
    13.     proxy_set_header Host $host;
    14.     proxy_set_header X-Forwarded-Host $host;
    15.     proxy_set_header X-Forwarded-Server $host;
    16.     proxy_set_header X-Real-IP $remote_addr;
    17.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    18.     proxy_buffering on;
    19.     if (!-f $request_filename) {
    20.        proxy_pass http://unicorn_server;
    21.        break;
    22.     }
    23.   }

    24.   location ~ ^/(assets)/  
    25.   {
    26.       expires max;
    27.       add_header Cache-Control public;
    28.   }
    29. }
    复制代码

友情提示
  • 低内存服务器添加内存释放任务
    1. $ vim /etc/crontab
    复制代码
    在最后一行添加如下内容(每天凌晨1点释放内存):
    1. 00 1 * * * echo 3 > /proc/sys/vm/drop_caches  
    复制代码

  • 一套常用配置信息 nginx + unicorn







3

主题

25

帖子

72

积分

新手上路

Rank: 1

积分
72
发表于 2015-5-3 23:19:59 | 显示全部楼层
学习一下,楼主辛苦了

294

主题

319

帖子

1062

积分

中级会员

Rank: 3Rank: 3

积分
1062
 楼主| 发表于 2015-5-5 09:33:18 | 显示全部楼层
qiaobc 发表于 2015-5-3 23:19
学习一下,楼主辛苦了

4

主题

19

帖子

179

积分

新手上路

Rank: 1

积分
179
QQ
发表于 2015-5-5 11:50:58 | 显示全部楼层
好文。
write code every day

294

主题

319

帖子

1062

积分

中级会员

Rank: 3Rank: 3

积分
1062
 楼主| 发表于 2015-5-5 16:38:01 | 显示全部楼层
     
    战略合作|联系方式|广告赞助|商务合作|手机版|小黑屋|( 京ICP备14036609号-6 )

GMT+8, 2017-6-28 03:21

© 2013-2017 Powered by Discuz! X3.3. 本站由 又拍云 提供 CDN 图片存储服务 七牛 提供 CDN 静态文件加速服务

快速回复 返回顶部 返回列表