ubuntu12.04部署ROR
刚开始部署这玩意是很折磨的,折腾吧。
确保使用最新版本的linux,否则成功率会大大降低,因为ruby开源社区对于ubuntu的支持总是不兼容旧版本的。笔者部署时的版本是ubuntu12.04
每次都是缺少这库又需要那库的,所以这里让大家首先安装各种库
1.首先安装yaml 库,避免以后的麻烦。 不装此库会让你安装不上rubygems
wget -c http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
tar xzvf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure --prefix=/usr/local #注意此处请勿修改路径,否则库文件无法写入正确目录
make && make install
2.安装zlib1g 和 zlib1g-dev,防止以后运行gem 出现 no such file to load zlib(LoadError)
sudo apt-get install zlib1g zlib1g-dev
装好以后,如果是已经装了Ruby[注意:这里是已经装了ruby] , 那么就找到ruby的安装的源文件夹下的/ext/zlib/ 运行
ruby extconf.rb
make && make install
还有openssl这个要装,不然在rails一个demo时会失败
sudo apt-get install libopenssl-ruby
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install libssl0.9.8
【注意:这里也是已经装了ruby的,没装ruby直接下一步】在进入源码下的/ext/openssl
ruby extconf.rb
make && make install
3.安装rvm
apt-get install curl
curl -L get.rvm.io | bash -s stable
如果你是root用户登录,则此时rvm -v可以看到版本号了,如果不是,你需要做下面这个【】步骤
【sudo gedit ~/.bashrc
添加export PATH=/usr/local/rvm/bin:$PATH
source ~/.bashrc
source ~/.bash_profile
】
sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' /usr/local/rvm/config/db
(修改rvm的ruby安装源到淘宝镜像,原因是国内网络你懂的)
4.安装Ruby
列出已知ruby版本
rvm list known
安装一个ruby版本
rvm install ruby-2.0.0-p247
确保bash已登陆
/bin/bash --login
使用一个ruby版本
rvm use 2.0.0-p247
如果想设置为默认版本,可以这样
rvm use 2.0.0 --default
卸载一个已安装版本
rvm remove 1.9.2
5.安装gem
wget -c http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz
tar xzvf rubygems-1.8.24.tgz
cd rubygems-1.8.24
ruby setup.rb
6.安装rails
由于国内网络原因(你懂的),导致rubygems.org存放在Amazon S3上面的资源间歇连接失败,所以你会遇到gem install rails 半天没反应的情况。
所以,淘宝网做了rubygems 镜像。
首先替换sources
gem sources --remove http://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l #用来查看source list
请确保只有http://ruby.taobao.org/ 一个
然后就可以gem install rails --no-ri --no-rdoc
为什么要用--no-ri --no-rdoc 参数,因为加上去安装快,而且这两个也用不着
安装完毕后,使用rails -v 查看版本,如果你看到正确显示版本,恭喜你,可以下一步了。
7.开始一个demo
当然不可能就让你这么愉快的开始demo
sudo apt-get install libsqlite3-dev //虽然你不用这sqlite,但是还得装,不然就无法bundle install ,虽然我也不知道这个bundle是个啥
sudo apt-get install nodejs
//Nodejs就不用解释了,不知道为啥要安装这个,不过不安装的话当你rake db:create 的时候会提示你could not find Javascript Runtime
至此,就可以在一个目录下运行
rails new demo --skip-bundle #直接rails new会自动运行bundle install,而bundle install会自动去rubygems.org查找是否有更新,少则五分钟,多则几十分钟
另外,最新版bundler速度提高不少,建议使用,也能提速
gem install bundler --pre
cd demo
bundle install --local
这个命令如果失败,则少了什么装什么,比如提示Could not find gem 'sdoc (>= 0) ruby' in the gems available on this machine.那就gem install sdoc
还有可能缺少的比如 gem install coffee-rails
gem install sqlite3
如果嫌麻烦还可以先 gem install all一下,再一个个加剩余的。
直到 bundle install --local 能够成功为止。
rake db:create
此时若出现rake aborted!
cannot load such file -- sqlite3/sqlite3_native
请手动setup一下sqlite3
cd /usr/local/rvm/gems/ruby-2.0.0-p247/gems/sqlite3-1.3.8/lib/
ruby setup.rb
rake db:create
若报错:rake aborted!
Could not find a JavaScript runtime.
gedit Gemfile
添加一行
gem 'therubyracer'
保存,再bundle install,gem会帮你安装javascript
再一次rake db:create,我成功了,若还有其他报错,请检查数据库密码,改./config/database.yml将密码打上双引号可能可以解决。
rails s
看到WEBrick启动后,就可以打开浏览器,输入http://localhost:3000 访问demo了,是一个博客:)
大功告成,鼓掌,撒花
ubuntu12.04部署ROR的更多相关文章
- ubuntu12.04+hadoop2.2.0+zookeeper3.4.5+hbase0.96.2+hive0.13.1伪分布式环境部署
目录: 一.hadoop2.2.0.zookeeper3.4.5.hbase0.96.2.hive0.13.1都是什么? 二.这些软件在哪里下载? 三.如何安装 1.安装JDK 2.用parallel ...
- ubuntu12.04 server + apache2 + wsgi + django1.6 部署
最近在学Python和Django,想自己部署一个服务器试试 环境:ubuntu12.04 server | apache2 | django1.6 | python2.7 | mod_wsgi 在网 ...
- ubuntu12.04+Elasticsearch2.3.3伪分布式配置,集群状态分片调整
目录 [TOC] 1.什么是Elashticsearch 1.1 Elashticsearch介绍 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.能够快速搜索数 ...
- Linux (Ubuntu12.04) 下开发工具安装和使用
Linux (Ubuntu12.04) 下开发工具安装和使用 这里讲述的是关于在ubuntu12.04下面安装和使用各种IDE 开发环境和初步使用的知识.说一下背景:很多的开发基本都是在linux操作 ...
- PHP和Golang使用Thrift1和Thrift2访问Hbase0.96.2(ubuntu12.04)
目录: 一.Thrift1和Thrift2的简要介绍 1) 写在前面 2) Thrift1和Thrift2的区别 二.Thrift0.9.2的安装 1) 安装依赖插件 2) Thrift0.9.2的 ...
- ubuntu12.04+kafka2.9.2+zookeeper3.4.5的伪分布式集群安装和demo(java api)测试
博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1&do=blog&id=547 转载声明:可以转载, 但必须以超链 ...
- mono3.2和monodevelop4.0在ubuntu12.04上两天的苦战
首先第一步是设置ubuntu server 12.04版更新源,推荐中科大的比较快:deb http://debian.ustc.edu.cn/ubuntu/ precise main multive ...
- Win7&Ubuntu12.04 双系统引导问题
周末的时候手贱,重装系统,导致原来的ubuntu12.04和win7双系统的引导不见了,所以在此进行一下说明,如何修复. 1. win7和ubuntu12.04双系统引导修复 问题描述: 在重装 ...
- ubuntu12.04 安装CS:APP Y86模拟器
下的第一UBUNTU12.04下Y86模拟器的安装:(參考http://archive.cnblogs.com/a/1865627/ 作适当改动) 1.安装bison和flex词法分析工具 sudo ...
随机推荐
- MongoDB分片集群新增分片(自用)
机器IP为192.168.58.11,计划在上面新建两个分片并添加到原有分片集群中. 实施如下: 1.58.11创建mongodb文件夹 mkdir -p /opt/mongodb cd /opt/ ...
- webstorm 破解方式
注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址: http://idea.iteblog.com/key.php 点击:Acti ...
- Python 3 初探,第 1 部分: Python 3 的新特性
Python 3 是 Guido van Rossum 功能强大的通用编程语言的最新版本.它虽然打破了与 2.x 版本的向后兼容性,但却清理了某些语法方面的问题.本文是系列文章中的第一篇,介绍了影响该 ...
- Django——基于类的视图源码分析 二
源码分析 抽象类和常用视图(base.py) 这个文件包含视图的顶级抽象类(View),基于模板的工具类(TemplateResponseMixin),模板视图(TemplateView)和重定向视图 ...
- 经验总结54--搭建linux虚拟机环境
好久没写博客了.写一篇环境搭建吧. 自己做java,有时会接触linux环境,自己能够搭建一个,方便自己做实验和学习. 1.下载VM11. 下载并依照VM:http://rj.baidu.com/so ...
- Cookie小案例-----记住浏览过的商品记录
Cookie小案例------记住浏览过的商品记录 我们知道,这个功能在电商项目中非经常见.这里处理请求和页面显示都是由servlet实现,主要是为了体现cookie的作用, 实现功能例如以下: 1, ...
- JAVA自带监控工具的介绍
转:http://www.alidw.com/?p=326 相信部分同学可能还是不太了解或者很少使用,这些监控工具是jdk5.0以上才会有的,有部分是liunx特有的. 了解这些工具再做压力测试和调优 ...
- loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式
loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本l ...
- 1高并发server:多路IO之select
1 select A:select能监听的文件描写叙述符个数受限于FD_SETSIZE,一般为1024.单纯改变进程打开 的文件描写叙述符个数并不能改变select监听文件个数 B:解决1024 ...
- PHP-手册阅读
配置选项: html_errors: 无意义的 HTML 标记符会使得出错信息很凌乱, 所以在外壳下阅读报错信息是十分困难的, 因此将该选项的默认值改为 FALSE implicit_flush: 在 ...