Ruby On Rails(Ubuntu64位14.04) 服务器部署

源地址 http://blog.csdn.net/hetuo198881/article/details/8689007


1.前提条件

纯净的ubuntu系统,

没有安装过ruby,

2.安装ruby

2.1准备工作为了保证安装的顺利进行,需要先执行的几个命令:apt-get update更新源
apt-get install aptitude安装aptitude命令

2.2安装ruby所依赖的库文件

2.2.1安装openssl
aptitude install libcurl4-openssl-dev

2.2.2安装libyaml

aptitude install libyaml-dev

2.2.3安装zlib1g
aptitude install zlib1g-dev
2.2.4安装readline
aptitude install libreadline6-dev
2.2.5安装vim,g++
aptitude install vim g++

2.3下载ruby源码

进入ruby.taobao.org网站,复制ruby-1.9.3源码链接地址,使用wget命令
wget http://ruby.taobao.org/mirrors/ruby/1.9/ruby-1.9.3-p374.tar.gz

2.4编译安装ruby
tar xf ruby-1.9.3-p286.tar.gz
cd ruby-1.9.3-p286
./configure --prefix=/opt/ruby
如果过程中找不到make命令,使用aptitude install make然后再执行./configure--prefix=/opt/ruby然后执行make -j4进行编译最后执行make install进行安装ruby会被安装到/opt/ruby目录下


//我的更新

sudo ./gem install bundle
sudo apt-get install nodejs
bundle install
sudo apt-get install libsqlite3-dev
sudo apt-get install libreadline-dev readline-common libreadline5



3.安装mysql驱动,安装ruby的mysql库

aptitude install libmysqlclient-dev libmysqlcppconn-dev

cd /opt/ruby/bin进入ruby的bin目录./gem install mysql2安装ruby的mysql库

4.安装rails及其依赖库

cd /opt/ruby/bin进入ruby的bin目录

先安装bundle
./gem install bundle然后执行./gem install rails

5.安装passenger(用户连接nginx和rails)

cd /opt/ruby/bin进入ruby的bin目录

./gem install passenger

6.安装配置启动nginx

跳转到root目录下,下载nginx源码

cd /root
进入nginx.org网站获取nginx源码链接
wget http://nginx.org/download/nginx-1.2.6.tar.gz
tar xf nginx-1.2.6.tar.gz
cd nginx-1.2.6
pwd
复制nginx的根目录全路径
然后进入到ruby的bin目录
cd /opt/ruby/bin
执行./passenger-install-nginx-module
执行过程中选择choice 
2进行自定义安装
当弹出Please specify the directory时,使用之前复制的nginx根目录全路径。之后⼀一路回车即可。
安装完成后nginx会安装在/opt/nginx目录下

nginx配置文件在/opt/nginx/conf/nginx.conf中,附录提供了nginx配置的参考。killall -9 nginx可以杀死nginx进程使用/opt/nginx/sbin/nginx可以启动nginx进程

7.安装mysql服务器

apt-get install mysql-server

apt-get install mysql-client
apt-get install libmysqlclient15-dev
启动本地的mysql服务器
service mysqld start
在mysql中创建对应的数据库
create database ***;
在mysql中创建指定的用户访问对应的数据库
示例:
grant all privileges on drivelink_db.* to drivelink@'localhost' identified by 'drivelink';

8.rails服务器配置

将rails服务器代码拷贝到服务器上

在Gemfile中添加
gem 'execjs'
gem 'therubyracer'
另外在config/database.yml中填写对应的数据库,比如使用mysql,则adapter:mysql2

在其根目录执行/opt/ruby/bin/ruby /opt/ruby/bin/bundle install根据提示安装对应的gem配置服务器代码根目录下的config/database.yml文件,修改production:下的username,password和host参数。在服务器代码根目录下执行/opt/ruby/bin/ruby/opt/ruby/bin/rake db:migrate可以在对应的数据库进行建表操作。

9.在nginx.conf中配置rails服务器的public目录的绝对路径

详见nginx.conf配置的附录参考

10.启动服务器

使用/opt/nginx/sbin/nginx可以启动nginx进程

如果有问题,可以查看/opt/nginx/logs/目录下的access.log和error.log文件,另外也可以通过psaux命令查看当前的进程寻找问题原因。

附录:

nginx.conf

user root;

worker_processes 2;

events {
worker_connections 1024;

use epoll;

}

http {

passenger_root /opt/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.19;

passenger_ruby /opt/ruby/bin/ruby;
passenger_default_user root;
passenger_max_pool_size 16;

client_max_body_size 1024m;

include mime.types;
default_type application/octet-stream;

sendfile on;tcp_nopush on;keepalive_timeout 65;gzip on;

server {
listen 80;
server_name 192.168.1.135;passenger_enabled on;passenger_min_instances 4;

root /home/mes-monitor/Documents/wanduapp_server/public;

}} 

展开阅读全文

没有更多推荐了,返回首页