我自己blog上的,直接贴过来懒得排版了,可以去我的blog自己看原版:http://www.iloopai.com/blogs/11,第一次访问启动有点慢...hostmonster主机老是把我的fastcgi清理出内存...
ubuntu下安装rails生产环境安装
1、先安装gcc,mysql和一些库sudo apt-get update sudo apt-get upgrade sudo dpkg-reconfigure tzdata date sudo apt-get install gcc sudo apt-get install build-essential sudo apt-get install git-core sudo apt-get install libcurl4-openssl-dev libssl-dev zlib1g-dev libreadline5-dev sudo apt-get install mysql-server mysql-client
2、编译ruby1.9.2 :
先下载源代码:http://www.ruby-lang.org/en/downloads/tar vfxz ruby-1.9.2-p180.tar.gz cd ruby-1.9.2-p180 sudo ./configure --prefix=/usr/local/ruby-1.9.2 sudo make sudo make install #添加路径 sudo gedit /etc/profile #加入如下内容并且保存,注销就可以了 if [ -d "/usr/local/ruby-1.9.2/bin" ] ; then export PATH=/usr/local/ruby-1.9.2/bin:$PATH fi #查看安装到ruby版本 #sudo用到环境变量没搞清楚...加个-i就行了 sudo -i ruby -v #安装rails,这儿也用-i sudo -i gem install rails -y设置MQSQL的UTF-8编码方式:
$sudo gedit /etc/mysql/my.cnf #编辑添加如下内容 [mysql] default-character-set = utf8 [mysqld] default-character-set = utf8 init_connect = 'SET NAMES utf8' [client] default-character-set = utf8 sudo /etc/init.d/mysql restart #运行 sudo netstat -tap | grep mysql #检查 #检查MYSQL查看编码,用MYSQL命令: show variables like'character%'; #或者:mysql -u root -p Enter password: ****** > /s # 查看是否配置成功 Client characterset: utf8 Server characterset: utf8 >quit #Install nginx+passenger sudo gem install passenger passenger-install-nginx-module用rails new 新建 app
rails new blog -d mysql现在3.0.7版本的mysql2不能用最新版,需要添加个限制
cd blog gedit Gemfile把gem 'mysql2'改成: gem 'mysql2','<0.3'
sudo apt-get install libmysql-ruby libmysqlclient-dev在运行bundle就能正确安装mysql2了
#注意把Blog改成你自己到模块名 module ::Blog class Application include Rake::DSL end end module ::RakeFileUtils extend Rake::FileUtilsExt end #这个是原来rake文件到最后一行,不是添加的,注意这个“Blog”就是你的模块名字 Blog::Application.load_tasks第二种方法就是卸载0.9版本的rake了:
sudo -i gem uninstall rake -v 0.9 sudo -i gem uninstall rake -v 0.8.7 sudo -i gem install rake -v 0.8.7我的系统里有rake 0.9和rake 0.8.7,把rake 0.9卸载了就找不到rake也许要加个链接到ruby/bin目录,我偷懒直接把2个都卸掉然后再安装0.8.7
这个就是安装mysql2过程中出现的问题:http://blog.csdn.net/linhx/archive/2011/03/29/6286899.aspx
配置ngnix:/opt/nginx/conf/nginx.confserver { listen 80; server_name localhost; root /home/xxx/rails_app/blog/public; #xxx这个就是你刚才新建的app的public目录到完整路径 passenger_enabled on; rails_env development; #设置为开发环境,默认是生产环境 #charset koi8-r; #access_log logs/host.access.log main; #location / { # root /home/leslin123/rorails/helloMySQL/public; # index index.html index.htm; #}配置Nginx为启动项:
sudo apt-get install curl#在终端里输入curl,如果提示未安装就用这个命令安装,如果已经存在就跳过 curl -L http://bit.ly/nginx-ubuntu-init-file > nginx sudo mv nginx /etc/init.d/ sudo chmod +x /etc/init.d/nginx sudo /usr/sbin/update-rc.d -f nginx defaults sudo /etc/init.d/nginx start在浏览器里输入:127.0.0.1,看到Welcome to nginx!就是安装成功了,如果已经设置了rails app的目录应该是rails程序到欢迎界面了
sudo /etc/init.d/nginx restart
注:如果提示:Access denied for user 'root'@'localhost' (using password: NO)重启下nginx试试
用到的链接:rvm安装方式,只采用了前面:http://www.yangzhiping.com/tech/ubuntu-ree-nginx-passenger-rails3.blog.html
编译ruby1.9.2以及配置: http://hi.baidu.com/rikioy/blog/item/57fdfe38b87ce3ccd462256a.html
解决mysql2版本不相容的问题:http://stackoverflow.com/questions/5840742/version-of-mysql2-0-3-2-doesnt-ship-with-the-activerecord-adapter-bundled-anym
执行rake出错解决方法:http://stackoverflow.com/questions/5287121/undefined-method-task-using-rake-0-9-0-beta-4
安装mysql2不成功:http://blog.csdn.net/linhx/archive/2011/03/29/6286899.aspx