源地址 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;
}}