deb http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse 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
而后更新一下: html
$ 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
$ \curl -L https://get.rvm.io | bash -s stable $ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"' >>~/.bashrc $ source ~/.bashrc $ rvm -v
若是你是国内服务器,推荐将 RVM 的安装源替换成 Taobao 的镜像服务器,这样安装能更快! node
$ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db
用 RVM 安装 Ruby: mysql
$ rvm pkg install readline openssl $ rvm install 2.0.0 $ rvm use 2.0.0 --default $ ruby -v ruby 2.0.0p247
国内服务器推荐替换 RubyGems 的到淘宝镜像: nginx
$ gem sources --remove https://rubygems.org/ $ gem sources -a http://ruby.taobao.org/ $ gem sources -l *** CURRENT SOURCES *** http://ruby.taobao.org
$ gem install rails $ rails -v Rails 4.0.0
固然,若是你的项目是用的其余数据库,请本身解决 git
$ sudo apt-get install mysql-server
跟着提示安装,此处涉及东西在本教程以外,请自行 Google 相关教程解决。 github
接下来你能够经过 Git 或其余方式将你项目的源代码提交到服务器上面,建议放到用户的 ~/www 下面。 sql
为了方便教程,咱们假设,用户是 jason (拥有 sudo 权限), 项目名 gitlab 后面遇到相似的地方请更具本身的状况修改 shell
$ 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
$ gem install passenger $ passenger -v Phusion Passenger version 4.0.10
因为 Passenger 须要从新编译 Nginx,若是你以前有安装 Nginx 须要卸载掉!
nginx -v,有的话卸载 $ sudo apt-get remove nginx-common nginx-full nginx ubuntu
用 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 的启动脚本,以及配置开机自动启动
$ 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.conf
$ sudo vim /opt/nginx/conf/nginx.conf
PS: 若是你不是 Passenger 安装的 Nginx,这个配置文件还有可能在 /usr/local/nginx/ 或 /etc/nginx 下面
请参考下面的例子修改:
user jason; # 修改为你的系统账号名,否则项目目录 /home/jason/www 这里没有权限 worker_processes 8; # 修改为和你 CPU 核数同样 pid /var/run/nginx.pid; http { include mime.types; default_type application/octet-stream; client_max_body_size 50m; sendfile on; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_disable "msie6"; ## ------------ 重点修改内容 -------- server { # 此处用于防止其余的域名绑定到你的网站上面 listen 80 default; return 403; } server { listen 80; server_name you.host.name; # 请替换成你网站的域名 rails_env production; root /home/jason/www/gitlab/public; passenger_enabled on; location ~ ^(/assets) { access_log off; # 设置 assets 下面的浏览器缓存时间为最大值(因为 Rails Assets Pipline 的文件名是根据文件修改产生的 MD5 digest 文件名,因此此处能够放心开启) expires max; } } ## --------------------------------- }
$ sudo /etc/init.d/nginx start
部署完成!能够尝试访问你的域名。