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
用浏览器访问即可