`

Ruby on Rails网站布署

 
阅读更多

前言:

        安装环境:Linux
        数据库:development:sqlite;production:mysql
        全自动代理方式:Nginx + Passenger
一,安装 Ruby, Rails 及相关

二,安装 MySQL :
       1.判断系统是否已经安装mysql:

sudo  netstat  -tap  grep  mysql
       2.若已安装mysql但不能正常使用,则先卸载:
sudo apt-get autoremove --purge mysql-server-5.0
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common  //非常重要
      上面的其实有一些是多余的,建议还是按照顺序执行一遍
      清理残留数据:
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
      3.安装mysql:
sudo apt-get install mysql-server mysql-client   //默认用户是root,一定要输入密码
      4.如果安装出错则可能是安装rails环境的时候没安装依赖的mysql开发库和头文件
sudo apt-get install libmysql-ruby libmysqlclient-dev
 三,让你的项目在production下能跑起来(因为是production状态,要注意加“RAILS_ENV='production')(之前要能够用rails s 跑起来
      1.copy你的项目到服务器上,如果是在github上:
git clone  你的github网址
      2.进入项目中,bundle
cd project
bundle install
      3.用“yaml_db”把sqlite数据库转换为mysql数据库:
gem 'yaml_db'     //在Gemfile中添加
bundle install
rake db:dump
      4.修改config/database.yml 文件
production:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: name
  pool: 5
  username: root
  password: password
       5如果还没有创建数据库的话,创建一个数据库
       6.加载数据库:
rake db:load   RAILS_ENV='production'
      7.让工程在服务器上跑起来
rails s -e production
 四,安装Nginx + Passenger
     1.由于 Passenger 需要重新编译 Nginx,如果你之前有安装 Nginx 需要卸载掉!
nginx -v   //确定是否有
sudo apt-get remove nginx-common nginx-full nginx
   2.用 Passenger 安装 Nginx:
 sudo passenger-install-nginx-module
    3.安装 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 与网站
sudo vim /opt/nginx/conf/nginx.conf    //用passenger安装的nginx目录默认在这里
//-----------------------------打开后可看到------------------
user jason;      //修改成你的系统帐号名
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; 
    }
  }
}
     重启 Nginx
 sudo /etc/init.d/nginx start   //还可以用restart
 参考:
nginx:http://blog.csdn.net/tuoxz/article/details/20370083

 

数据库:http://stackoverflow.com/questions/1670154/convert-a-ruby-on-rails-app-from-sqlite-to-mysql

分享到:
评论

相关推荐

    Ruby on Rails Tutorial

    《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...

    ruby on rails 101

    ### Ruby on Rails 101:深入理解与实践 #### 引言 《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天...

    ruby on rails最新版

    Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。Rails以其“约定优于配置”(Convention over Configuration)...

    Ruby on Rails安装包全集(Linux)

    Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...

    ruby on rails 3 tutorial.pdf

    《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...

    Ruby On Rails中文教材(PDF)

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用程序的开发。Rails由David Heinemeier Hansson于2004年创建,它提倡“约定优于配置...

    ruby on rails社区网站开发源码

    在“ruby on rails社区网站开发源码”中,我们可以学习到如何利用Rails构建一个互动性强、功能丰富的社区网站。以下是一些关键知识点: 1. **安装与环境设置**:首先,你需要安装Ruby和Rails。这通常涉及设置Ruby...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    ruby on rails for dummies

    《Ruby on Rails for Dummies》是一本专门为初学者设计的Ruby on Rails教程,它旨在帮助新手快速理解并掌握这个强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言构建的一个开源Web应用程序框架,它...

    Ruby on Rails入门权威经典

    《Ruby on Rails入门权威经典》是一本专门为初学者设计的指南,旨在帮助读者全面掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言的开源框架,以其“DRY(Don't Repeat ...

    Ruby on Rails入门经典代码

    Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...

    Ruby on Rails教程:学习使用Rails进行Web开发Ruby on Rails Tutorial: Learn Web Development with Rails

    本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。

    Ruby on Rails实践

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。这个框架遵循“约定优于配置”(Convention over Configuration)的原则,致力于简化Web应用的开发流程,提高...

    Ruby on Rails中文指南

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...

    ruby on rails 教程源码

    Ruby on Rails,简称Rails,是基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在使开发过程更加简洁高效。这个“ruby on rails 教程源码”很可能是为了辅助学习者深入理解Rails的...

    提升Ruby on Rails性能的几个解决方案

    Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...

    ruby on rails在线考试系统

    Ruby on Rails(简称Rails)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程并提高效率。在这个“ruby on rails在线考试系统”中,我们可以探讨以下几...

    Ruby on Rails 4 Tutorial 中文版

    Ruby on Rails 4 Tutorial 是一本深受开发者欢迎的书籍,它详细介绍了如何使用Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的开源框架,以其“约定优于配置”(Convention over ...

Global site tag (gtag.js) - Google Analytics