我有大舌头 发表于 2010-11-10 14:59

在snow Leopard上搭建基于ree+nginx+passenger的rails3开发环境

这里,写一下一个纯净版的操作系统搭建rails3开发环境的全部步骤。备忘。



一,一般性工具,可略过不看。



1,安装textmate,help菜单下面的enhanced terminal usage ,创建链接。【如XX用户,请务必将本机语言首先更改为英文,重启之后再修改××文件,将里面的日期替换更高时间节点的日期。】



2,安装iTerm2,用于多窗口操作shell



3,安装navicat premium,用于操作mysql数据库,也可用phpmyadmin。



4,安装vmware fusion以及相应操作系统windows7,建立sqlserver2005数据库,用于与windows下的老版本数据库对接。



5,版本控制与bug跟踪:公司内部项目,请登陆内部redmine,使用texmate的svn插件。开源项目则请登陆github等。



二,安装ror相关工具



* 请将xxx替换成你的用户名。



1,安装xcode开发环境



http://developer.apple.com/technologies/xcode.html



有一次安装的时候卡在中途,退出重启操作系统即可。



2,安装git



http://code.google.com/p/git-osx-installer/



3,安装homebrew



http://github.com/mxcl/homebrew



ruby -e "$(curl -fsSL https://gist.github.com/raw/323731/install_homebrew.rb)"



4,安装mysql



brew install mysql



然后,初始化与启动mysql



mysql_install_db

mysql.server start



随操作系统自动启动mysql



一个使用可视化界面操作的方法是,从mysql官网下载mysql-5.1.51-osx10.6-x86_64.dmg



加载,打开MySQLStartupItem.pkg与MySQL.prefPane进行配置。这样mysql就可以自动随机启动。



另一个办法则是写一个配置文件,可参考:



sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist



http://www.javaeye.com/wiki/OSX/1632-osx-startup-script



http://blog.nroed.com/2010/10/13/mac-os-%E4%B8%8B%E5%BC%80%E6%9C%BA%E5%90%AF%E5%8A%A8mysql/



5,安装imagemagick



brew install imagemagick



6,安装rvm(ruby版本管理工具)



安装rvm可以直接使用作者的网址的快捷安装方法。



参考:http://rvm.beginrescueend.com/



使用一句话命令:



bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )



安装rvm的时候,记得按照命令符提示做一些修改。



修改配置文件,mate/etc/profile



在行尾插入:



[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"



退出shell,并重新进入。





以上6个步骤是台湾xdite推荐的最佳实践,的确也是最佳实践,参考:http://blog.xdite.net/?p=1795



但是我需要安装的是ree与nginx【生产服务器上是这样的配置】,所以接下来的步骤开始不同。如果是使用apache与ruby开发的,请参考xdite推荐的最佳实践。



7,切换操作系统的ruby版本到ree之下。



直接通过rvm安装ree,



rvm install ree



也可以直接通过homebrew来安装ree。



brew install ruby-enterprise-edition



然后切换操作系统默认的ruby环境到ree,命令如下:



rvm --default ree



8,创建ruby版本管理配置文件,GEM Set



如果一不小心,跳过此步骤,后续的操作系统引用的gem source就非常混乱。并且在安装的时候会提示错误。请务必操作此步骤。我的GEM Set命名为rails3。命令如下所示:



rvm gemset create rails3



加载rails3这个环境:



rvm ree@rails3



可通过 rvm info命令显示更多的关于rails3这个开发环境的信息。



9,开始安装passenger



gem install passenger



安装passenger的nginx模块。



passenger-install-nginx-module



打开nginx的默认安装目录:



mate /opt/nginx/



找到这个目录下面的conf目录的配置文件,nginx.conf





确保如下所示:



http {

      ...

      passenger_root /Users/xxx/.gem/ruby/1.8/gems/passenger-3.0.0;

      passenger_ruby /usr/local/Cellar/ruby-enterprise-edition/2010.02/bin/ruby;

      ...

}



passenger_ruby如果不是指向ree的ruby解释器,会导致之后的gem源丢失问题。请务必确保此处指向的ruby与你所使用的ruby环境中的一致,可通过 rvm info命令查看现在所使用的ruby位置与版本。



按照安装提示修改nginx的配置文件,在server配置节,倒数第二行增加:



   server {

      listen 80;

      server_name www.yourhost.com;

      root /somewhere/public;   # <--- be sure to point to 'public'!

      passenger_enabled on;

   }



重启nginx



sudo /opt/nginx/sbin/nginx -s reload



此时可将nginx链接到profile或者bashrc文件中过去,精简命令。



alias nst='ps aux | grep nginx'

alias sn='echo start nginx; sudo /opt/nginx/sbin/nginx ; nst'

alias kn='echo stop nginx; sudo kill `cat /opt/nginx/logs/nginx.pid` ; nst '

alias rn='kn ; sn'



#sn = start nginx

#kn = kill nginx

#rn = restart nginx



记得修改host文件,mate /etc/hosts



增加:127.0.0.1 www.yourhost.com



*更多关于passenger的nginx用法可以参考向导文件:



http://modrails.com/documentation/Users%20guide%20Nginx.html



*更多关于nginx的配置文件写法可以参考:



http://wiki.nginx.org/NginxChs



nginx的passenger模块默认是生产模式,请更改。





示范如下:



   server {

      listen 80;

      server_name www.yourhost.com;

      root /users/xxx/projects/test-project/public;   # <--- be sure to point to 'public'!

      passenger_enabled on;

      rails_env development;

   }





10,安装ree下面的gem,rails3,然后再bundle install.



gem update --system

gem install rake

gem install rails



cd /users/xxx/projects/test-project

bundle install



如果碰到,Could not find bcrypt-ruby-2.1.2 in any of the sources等类似错误,直接在该rvm环境之下:



gem install bcrypt-ruby



请通过rvm info命令检查你所使用的ruby,gem等版本信息是否正确。



"/Users/xxx/.rvm/gems/ree-1.8.7-2010.02@rails3"



@符号表示的你个性化的gem set。这样一来,就可以创建多个ruby开发环境进行调试。切换的时候,相应地变更一下不同web服务器的ruby解释路径即可.【转】
页: [1]
查看完整版本: 在snow Leopard上搭建基于ree+nginx+passenger的rails3开发环境