我自己blog上的,直接贴过来懒得排版了,可以去我的blog自己看原版:http://www.iloopai.com/blogs/11,第一次访问启动有点慢...hostmonster主机老是把我的fastcgi清理出内存...
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'
然后运行:bundle,如果提示下面到错误就是少了些运行库了:Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers.
安装库:
sudo apt-get install libmysql-ruby libmysqlclient-dev在运行bundle就能正确安装mysql2了
执行:rake db:create还是出错...这个是rake 0.9版本到问题,这个有人给出了方法:打开刚才新建的app根目录下的Rake文件,在里面添加:
#注意把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.youkuaiyun.com/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程序到欢迎界面了
每次修改了nginx配置后需要重启生效:
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.youkuaiyun.com/linhx/archive/2011/03/29/6286899.aspx
本文详细介绍了在Ubuntu环境下安装Rails生产环境的步骤,包括安装GCC、MySQL及相关库,编译Ruby 1.9.2,安装Rails,配置MySQL编码,安装Nginx和Passenger,以及解决安装过程中可能出现的问题。
155

被折叠的 条评论
为什么被折叠?



