安装rails-for-ruby环境并运行rails项目全过程

1.安装RVM

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ \curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile
$ sed -i 's!cache.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db

2.rvm安装ruby

$ rvm install ruby
$ rvm use 2.2.1 --default 

2.gem安装rails

$ gem install rails
$ rvm gemset create rails425
$ rvm use 2.2.1@rails425

4.安装passenger、nginx

$ gem install passenger
$ passenger-install-nginx-module

5.配置nginx文件(server中的内容)

$ cat /opt/nginx/conf/nginx.conf


worker_processes  1;

events {
    worker_connections  1024;
}


http {
    passenger_root /usr/local/rvm/gems/ruby-

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

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        root /soft/rails-program/public;#项目根目录
        passenger_enabled on; #开启passenger
        rails_env production;#使用production模式
        access_log  /opt/nginx/logs/access.log;  #开启日志
        error_log /opt/nginx/logs/error.log ;  #错误日志

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

6.配置和运行rails项目
6.1 修改数据库配置(production下面的)

vi /soft/rails-program/config/database.yml

default: &default
  adapter: mysql2 #数据库类型
  encoding: utf8
  pool: 5
  username: root
  password: 1234
  socket: /var/lib/mysql/mysql.sock

development:
  <<: *default
  database: development


test:
  <<: *default
  database: test


production:
  <<: *default
  database: rails-pro #数据库
  username: root
  password: 1234
~                     

6.2创建数据库(我用 rake db:create RAILS_ENV=’production’无法创建,只好手动去mysq创建了。 )

mysql -u root -p

 CREATE DATABASE `rails-pro` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

6.3创建数据表表

bundle install

出现错误:

An error occurred while installing mysql2 (0.3.18), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.18'` succeeds before bundling.

于是执行

sudo apt-get install libmysql++-dev
gem install mysql2

bundle instlal
rake db:migrate RAILS_ENV="production"

又出现错误

Mysql2::Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

查找sock文件位置,并修改database.yml文件

mysqladmin variables | grep socket
vi config/database.yml

socket:  /var/run/mysqld/mysqld.sock

rake db:migrate RAILS_ENV="production"

完成!
生成的表为空,如果要导入sql,则用mysql语句导入即可。
6.4开启rails 服务,访问项目

rails server -e production -b 0.0.0.0

用浏览器访问即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值