RubyOnRails  - 讨论区

标题:ubutnu配置rvm、rails3、nginx和passenger的生产环境

2011年03月31日 星期四 16:44

首先, 使用 root 帐号登录

安装git和curl

apt-get install curl git-core

使用脚本安装rvm

bash < <(curl -L http://bit.ly/rvm-install-system-wide)

脚本会自动创建一个rvm组,并将root用户加入
编辑 /root/.bashrc和/etc/skel/.bashrc

[ -z "$PS!"] && return

替换为

if [[ -n "$PS1" ]]; then

在文件最后加入

fi
if groups | grep -q rvm ; then
source "/usr/local/lib/rvm"
fi

配置用户

#增加more用户
adduser more
#将more加入rvm组
adduser more rvm
gpasswd -a more sudo  #将用户more添加进sudo组

登录more用户并测试

type rvm | head -n1

如果显示 rvm is a function 则表示安装正确

安装ree依赖组件

aptitude install build-essential bison openssl libreadline5 libreadline-dev \
curl git-core zlib1g zlib1g-dev libssl-dev vim libsqlite3-0 libsqlite3-dev \
sqlite3 libreadline-dev libxml2-dev git-core subversion autoconf

(默认新的账户并有aptitude,需要apt-get安装,在root用户下,安装完成在执行上面的命令) 安装ree

rvm install ree

设为默认环境

rvm use ree –default

检查

ruby –v
Gem list

安装rails

Gem install rails

默认安装的是最新版本
安装passenger和nginx

gem install passenger
rvmsudo passenger-install-nginx-module

(此过程自动安装nginx,开始先会检查依赖组件,如没有,会提示安装命令。检查通过全部组件存在后,才能继续后面的步骤。 到最后是1和2的选择,我当时选择了1,好像是自动编译了。)
设置ree由passenger启动

rvm use ree --passenger

修改nginx配置文件

Vi  /opt/nginx/conf/nginx.conf

开启 gzip on;去掉前面的注释

server {
        listen       80;
        server_name  xxx.com www.xxx.com;
	root /home/more/demo/public;
	passenger_enabled on;

        location ~ ^/(image|javascripts|stylessheets)/ {
            root   /home/demo/public;
            expires 30d;
        } 
}

此处按照实际本机的项目目录设定 我是直接在/home/more 用户下创建了demo的项目

设置nginx开机脚本

curl -L http://bit.ly/nginx-ubuntu-init-file > /etc/init.d/nginx
chmod +x /etc/init.d/nginx
update-rc.d nginx defaults
/etc/init.d/nginx start

进入项目跑脚手架 rails generate scaffold Post name:string title:string content:text

因为服务器跑得是production环境

RAILS_ENV=production rake db:migrate
/etc/init.d/nginx restart

检查下xxx.com/posts 显示成功 恭喜环境搭建完成

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号