花了整整一天半来搞定环境部署。如果要部署RoR环境我强烈建议新手使用Ubuntu来部署。确实能够省掉很多问题。

详情可以参考这个链接:

http://www.yangzhiping.com/tech/ubuntu-ree-nginx-passenger-rails3.blog.html

在部署的过程中一直都很顺利,但是有几个点需要特别说明。

  1. 如果环境是使用 RVM 搭建的,那么请不要使用 ROOT 登录搭建,原因在于使用 ROOT 安装时RUBY 的环境会存在于 ROOT 根目录中而使用 passenger 的时候会由于权限不足,无法访问 ROOT 目录中的环境导致环境部署失败。
  2. 如果 gem 中存在 github 的地址,例如:
    gem 'mini_magick', :git => 'git://github.com/minimagick/minimagick.git'
    在安装 gem 的时候需要?Try?running?bundle?install?--deployment
  3. mysql2 的使用在 windows7 中是存在问题的。但是mysql2的性能要大大由于第一版的驱动程序。安装步骤如下:
    • 下载驱动程序:http://cdn.mysql.com/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip
    • 拷贝相关文件到RUBY目录,例子:“lib\libmysql.dll C:\RailsInstaller\Ruby1.9.3\bin”
    • 运行安装命令:gem install mysql2 — ‘–with-mysql-lib=”D:/mysql-connector-c-noinstall-6.0.2-win32/lib” –with-mysql-include=”D:/mysql-connector-c-noinstall-6.0.2-win32/include”

通过群里的朋友介绍,Rails 中的 gem 在 Amazon 服务的相关 gem 包也会存在一些问题。具体没详细请教,不过既然选择了 Rails 作为开发框架,建议切换到 Linux 环境应该会比较舒服。