在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]