您现在的位置是:网站首页> 编程资料编程资料

在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用_ruby专题_

2023-05-26 363人已围观

简介 在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用_ruby专题_

本教程只适合 Ubuntu Server 用于部署项目到线上,建议使用同样的 Ubuntu 版本,以免遇到一些版本不同带来的问题。

本教程适合新手初次部署 Rails 应用;

本文测试通过环境

Ubuntu 12.04 Server,

服务器安装测试于 Linode VPS (Ubuntu 12.04 LTS (GNU/Linux 3.4.2-x86_64-linode25 x86_64)。

配置 Ubuntu Server 系统

如果你是国内服务器,推荐修改网易的源

输入 sudo vi /etc/apt/sources.list 将里面的内容替换成:

deb http://mirrors.163.com/ubuntu/ precise main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse

然后更新一下:

$ sudo apt-get update

安装必要的三方库

$ sudo apt-get install -y wget vim build-essential openssl libreadline6 libreadline6-dev libmysqlclient-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev libcurl4-openssl-dev autoconf automake libtool imagemagick libmagickwand-dev libpcre3-dev nodejs libpq-dev

安装 Ruby, Rails 及相关

安装 RVM

$ /curl -L https://get.rvm.io | bash -s stable $ echo'[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"' >>~/.bashrc $ source ~/.bashrc $ rvm -v

安装 Ruby

如果你是国内服务器,推荐将 RVM 的安装源替换成 Taobao 的镜像服务器,这样安装能更快!

$ sed -i -e 's/ftp/.ruby-lang/.org//pub//ruby/ruby/.taobao/.org//mirrors//ruby/g' ~/.rvm/config/db

用 RVM 安装 Ruby:

$ rvm pkg install readline openssl $ rvm install 2.0.0 $ rvm use 2.0.0 --default $ ruby -vruby 2.0.0p247

国内服务器推荐替换 RubyGems 的到淘宝镜像:

$ gem sources --remove https://rubygems.org/ $ gem sources -a http://ruby.taobao.org/ $ gem sources -l *** CURRENT SOURCES *** http://ruby.taobao.org

安装 Rails

$ gem install rails $ rails -vRails 4.0.0

安装 MySQL 或其他数据库

当然,如果你的项目是用的其他数据库,请自己解决

$ sudo apt-get install mysql-server

跟着提示安装,此处涉及东西在本教程之外,请自行 Google 相关教程解决。

部署你的网站

接下来你可以通过 Git 或其他方式将你项目的源代码提交到服务器上面,建议放到用户的 ~/www 下面。

为了方便教程,我们假设,用户是 jason (拥有 sudo 权限), 项目名 gitlab 后面遇到类似的地方请更具自己的情况修改

$ cd ~/ $ pwd /home/jason/ $ mkdir www $ cd www $ git clone git@you.host:gitlab.git $ cd gitlab $ bundle install

修改你的数据库配置,创建数据库,合并 migration ...这些是 Rails 开发的基础,这里就不细说了,重点是最后你能让你的项目能用 rails s 跑起来!

$ rails s -e production

安装 Passenger 用于部署 Rails 应用

$ gem install passenger $ passenger -vPhusion Passenger version 4.0.10

由于 Passenger 需要重新编译 Nginx,如果你之前有安装 Nginx 需要卸载掉!
nginx -v,有的话卸载 $ sudo apt-get remove nginx-common nginx-full nginx

用 Passenger 安装 Nginx

$ sudo passenger-install-nginx-module

接下来会出现提示,选择 Yes: download, compile and install Nginx for me. (recommended) ,对于后面的提示一直选默认哪项,敲回车。

最后看到

 Nginx with Passenger support was successfully installed.

表示你人品很好 Nginx 安装成功!否则请看 Passenger 官方安装文档 自行解决……

安装 Nginx init script

接下来你需要安装 Nginx 的启动脚本,以及配置开机自动启动

$ cd ~/ $ git clone git://github.com/jnstq/rails-nginx-passenger-ubuntu.git $ sudo mv rails-nginx-passenger-ubuntu/nginx/nginx /etc/init.d/nginx $ sudo chmod +x /etc/init.d/nginx

配置 Nginx 开机自启动

$ sudo update-rc.d nginx defaults

配置 Nginx 与网站

打开 Nginx 的 nginx.conf

 $ sudo vim /opt/nginx/conf/nginx.conf

PS: 如果你不是 Passenger 安装的 Nginx,这个配置文件还有可能在 /usr/local/nginx/ 或 /etc/nginx 下面

请参考下面的例子修改:

userjason;# 修改成你的系统帐号名,不然项目目录 /home/jason/www 这里没有权限 worker_processes8;# 修改成和你 CPU 核数一样 pid/var/run/nginx.pid;http{includemime.types;default_typeapplication/octet-stream;client_max_body_size50m;sendfileon;access_log/var/log/nginx/access.log;error_log/var/log/nginx/error.log;gzipon;gzip_disable"msie6";## ------------ 重点修改内容 -------- server{# 此处用于防止其他的域名绑定到你的网站上面 listen80default;return403;}server{listen80;server_nameyou.host.name;# 请替换成你网站的域名 rails_envproduction;root/home/jason/www/gitlab/public;passenger_enabledon;location~^(/assets){access_logoff;# 设置 assets 下面的浏览器缓存时间为最大值(由于 Rails Assets Pipline 的文件名是根据文件修改产生的 MD5 digest 文件名,所以此处可以放心开启) expiresmax;}}## --------------------------------- }

重启 Nginx

$ sudo /etc/init.d/nginx start

部署完成!可以尝试访问你的域名。

其它网友的补充: 推荐查看

刚才试了一下,很轻松。

就当是给入门级的一个教程好了。。

注意:这篇文章只介绍如何在 Ubuntu 12.04 Server 上安装 Rails 环境,不保证你的 Rails 项目一定可以在 12.04 上正常运行。

本文测试环境

•装的系统是: Ubuntu 12.04 Server LTS amd64
•安装于: OSX 上 Parallels Desktop 虚拟机
Ubuntu 安装
很常见的安装:

1.选择 English 安装
2.Location 选择 other -> Asia -> China
3.继续安装,一路默认。。
4.输入姓名、用户名和密码
5.Write the changes to disks and configure LVM?
6.Write the changes to disks?
7.Softwar

-六神源码网