Ruby的更新速度比较快,社区最新消息表明Ruby2.0新功能已经冻结,准备发布正式版本。在之前的ruby1.8.x时代,为了获取生产环境较高性能,需要安装部署REE,到了ruby1.9.x版本,自带的ruby解释器性能已经有了极大的提升,因此安装部署方式也有了较大的区别和变化。本文以Ubuntu Server 12.04 LTS 64位版本为基础环境部署最新的RoR生产环境。
1、准备工作
//更新源
$sudo apt-get update
$sudo apt-get upgrade
//矫正时区
$sudo dpkg-reconfigure tzdata
选择Asia,然后选择chongqing,如果你不在天朝,根据情况选择。
2、安装所需的linux包
$sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf libc6-dev zlib1g-dev libssl-dev build-essential curl git-core libc6-dev g++ gcc
3、为Rails添加用户和组
$sudo addgroup passenger
$sudo adduser shuqi888
$sudo usermod -G passenger,www-data,sudo shuqi888
$su - shuqi888
4、安装Ruby1.9.3
$bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) //安装rvm控制ruby的版本
$source .bashrc //首次需要加载rvm
$rvm –v //查看rvm的版本
$sudo vi ~/.bashrc //打开bashrc文件,添加以下代码:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
$source ~/.bashrc //打开新终端运行bashrc
$rvm install 1.9.3 //安装ruby, 1.9.3为ruby的版本
$rvm use 1.9.3 default //设置1.9.3为默认的版本
$ruby –v // 查看当前ruby的版本,已经是最新的ruby1.9.3p327了,注意ruby1.9爆出了DoS漏洞,需更新升级到官方最新的p327补丁包。漏洞详情链接 http://www.ruby-lang.org/en/news/2012/11/09/ruby19-hashdos-cve-2012-5371/
5、安装Rails3.2
//安装libssl支持
$sudo apt-get install openssl libssl-dev
$sudo apt-get install libopenssl-ruby1.9.1
6、安装passenger/Nginx
$gem install passenger
$sudo apt-get install libcurl4-openssl-dev
$rvmsudo passenger-install-nginx-module
//安装nginx启动脚本
$wget https://raw.github.com/gist/1548664/53f6d7ccb9dfc82a50c95e9f6e2e60dc59e4c2fb/nginx
$sudo cp nginx /etc/init.d/
$sudo chmod +x /etc/init.d/nginx
$sudo update-rc.d nginx defaults
$sudo /etc/init.d/nginx start //启动nginx
$sudo /opt/nginx/sbin/nginx -s stop //停止nginx
$sudo /etc/init.d/nginx restart //重启nginx
//简单修改配置
sudo vi /opt/nginx/conf/nginx.conf
去除gzin on的注释,此行作用是对访问网站进行代码的压缩,加快访问速度
server {
listen 80;
server_name www.shuqi888.com;
root /home/shuqi888public; # 项目中的public目录
passenger_enabled on;
rails_env development; # 此处可以设置,rails的模式(开发、生产)
# charset koi8-r;
# access_log logs/host.access.log main;
# 注释下面的配置
# location / {
# root html;
# index index.html index.htm;
# }
....
}
//将应用和应用目录下所有文件夹和文件都置为权限777。
sudo chmod 777 –R /home/shuqi888/railsprojects/
7、安装Node.js
$sudo apt-get install python-software-properties
$sudo add-apt-repository ppa:chris-lea/node.js //这一步执行如果报错,重新运行此命令即可
$sudo apt-get update
$sudo apt-get install nodejs //联网安装,耗时比较长
8、安装MySQL
$sudo apt-get install mysql-server mysql-client //牢记安装过程中输入的密码
$sudo apt-get install libmysql-ruby libmysqlclient-dev
$gem install mysql2
$gem install rails //安装rails最新版
$rails -v //查看已安装rails版本,我的是rails 3.2.9
$gem –v //查看gem版本,我的是1.8.24
//安装Sqlite3支持
$sudo apt-get install sqlite3
$sudo apt-get install libsqlite3-dev
$gem install sqlite3-ruby
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com