配置 Ubuntu Server 系统
如果你是国内服务器,推荐修改网易的源
- 输入
sudo vi /etc/apt/sources.list
将里面的内容替换成:
deb http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse
deb-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安装 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 -v
ruby 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 -v
Rails 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
修改你的数据库配置,创建数据库,合并 migration ...这些是 Rails 开发的基础,这里就不细说了,重点是最后你能让你的项目能用 rails s
跑起来!
安装 Passenger 用于部署 Rails 应用
$ gem install passenger由于 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
PS: 如果你不是 Passenger 安装的 Nginx,这个配置文件还有可能在
/usr/local/nginx/
或/etc/nginx
下面
请参考下面的例子修改:
user jason ; # 修改成你的系统帐号名,不然项目目录 /home/jason/www 这里没有权限重启 Nginx
$ sudo /etc/init.d/nginx start部署完成!可以尝试访问你的域名。