`

部署ruby_on_rails项目到nginx上

阅读更多

1、配置production环境

部署ruby_on_rails项目到nginx之前,先要使项目在production环境上跑起来。我使用的是默认数据库sqlite3。

在Gemfile中添加:

gem 'yaml_db' 

 然后进行bundle安装

bundle install  
rake db:dump  //迁移数据库

 配置生产环境使用的数据库:在config/database.yml文件添加如下内容: 

production:  
  <<: *default  
  database: db/development.sqlite3 

然后加载数据库:

rake db:load   RAILS_ENV='production' 

生成安全密钥:

rake secret  

 生成一段符号,加到secrets.yml文件里,如: 

production:
  secret_key_base: 52761ca9d6a033907f27619e87c5a642007cd12be1ae2aebd179ebb690610b37ebd55941ff09bf9e5105265280e

修改/config/enviroment/production.rb里的属性,如下,加载CSS等功能样式

config.serve_static_assets = true 

 最后运行,让工程跑起来

rails s -e production   

 2、安装passenger、nginx

安装passenger:

sudo gem install passenger  

安装nginx到默认安装路径:

sudo passenger-install-nginx-module  

在安装过程中会遇到有些包需要手动安装,我们需要使用apt-get进行安装,可能 apt-get安装不上去,提示连接不到源,你需要更改apt-get源文件,具体地址为:/etc/apt/sources.list.d/official-package-repositories.list

安装nginx启动脚本:

cd ~/    
git clone git://github.com/jnstq/rails-nginx-passenger-ubuntu.git    
sudo cp rails-nginx-passenger-ubuntu/nginx/nginx  /etc/init.d/nginx    
sudo chmod +x /etc/init.d/nginx  

 配置nginx:

以root身份打开nginx的默认安装目录/opt/nginx/conf/nginx.conf,修改为如下:

server {  
        listen       80;  //端口号  
        server_name  localhost;  
        rails_env development;  
          
        #charset koi8-r;  
  
        #access_log  logs/host.access.log  main;  
  
        location / {  
        root  /home/rails_projects/huodongtong/public;   //rails工程pubilc的路径  
        passenger_enabled on;  
        } 

 启动nginx服务:

sudo /etc/init.d/nginx start

 停止nginx服务:

sudo /etc/init.d/nginx stop

 重启nginx服务:

sudo /etc/init.d/nginx restart

 在浏览器上输入localhost(如果不是80端口就要使用localhost:端口号),就可以看到自己的工程项目,别人可通过ip访问你的服务项目
 

 

 

分享到:
评论

相关推荐

    rails 部署 nginx

    标题 "rails 部署 nginx" 涉及到的是在Web开发中使用Ruby on Rails框架结合Nginx服务器进行应用部署的相关知识。Nginx以其高性能、稳定性以及反向代理和负载均衡能力,常被用作Rails应用的前端服务器。下面将详细...

    Ruby on Rails实践

    在部署方面,Rails应用通常运行在如Passenger、Unicorn或Puma这样的服务器上,配合Nginx或Apache作为反向代理。Heroku、DigitalOcean和AWS等云平台为Rails应用提供了便捷的部署选项。 总的来说,Ruby on Rails实践...

    ruby on rails环境搭建学习笔记;passenger+nginx环境配置

    通过以上步骤,可以完成 Ruby on Rails 开发环境的基本搭建,并且能够使用 Passenger+Nginx 进行高效部署。对于初学者而言,这一系列的操作可能会有些复杂,但随着实践的增多,这些步骤会变得越来越熟悉。同时,在...

    Ruby on Rails入门经典

    9. **部署和服务器**:学习如何将Rails应用部署到像Heroku或DigitalOcean这样的云平台,以及如何配置Nginx或Apache作为应用服务器。 10. **社区和资源**:Rails拥有活跃的社区,如Stack Overflow、GitHub、Rails...

    ruby on rails在线考试系统

    9. 布署与服务器配置:Rails应用通常部署在如Heroku、AWS或DigitalOcean等云平台上,使用Nginx或Apache作为反向代理,Passenger、Puma或Unicorn作为应用服务器。 10. 性能优化:Rails应用可以通过缓存、数据库索引...

    基于Ruby On Rails的在线购书系统

    《基于Ruby On Rails的在线购书系统》是一个深入探讨如何利用Ruby on Rails框架构建电子商务平台的项目。Ruby on Rails(RoR)是一个开源的Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,以Ruby编程语言为...

    基于C++和多种语言的mod_rails Phusion Passenger设计源码

    本项目是基于C++和多种语言的mod_rails Phusion Passenger设计源码,包含...这个项目是一个旨在从Apache和Nginx网页服务器上更便捷的部署Ruby on Rails项目的Apache模块,旨在简化Ruby on Rails项目的部署和维护过程。

    ruby on rails

    - **部署**:Rails应用可以部署在多种服务器环境中,如Apache、Nginx和Puma等,同时支持云平台如Heroku和AWS。 - **国际化与多语言支持**:Rails提供了i18n(Internationalization)框架,支持多国语言和时区设置,...

    Agile Web Development With Ruby On Rails EN第一版

    《敏捷Web开发:Ruby on Rails实战》是编程领域的一本经典著作,专注于使用Ruby on Rails框架进行高效、灵活的Web应用开发。此书的第一版经过修补,补充了第二版未涉及的一些关键知识点,例如fastCGI的部署策略,这...

    Ruby on rails blog (博客程序)

    在这个“Ruby on Rails博客程序”中,我们将深入探讨如何在Ubuntu 11.10操作系统上,使用Rails 3.0.8版本构建一个简单的博客平台。 首先,我们要了解Rails的基本概念。MVC架构将应用分为三个主要部分:模型(Model...

    ansible-rails:使用Ansible部署Ruby on Rails-使用Lets Encrypt,Sidekiq,PostgreSQL,nginx和puma

    本篇文章将详细探讨如何使用Ansible部署一个基于Ruby on Rails的应用,该应用集成了Lets Encrypt(用于SSL证书)、Sidekiq(后台任务处理)、PostgreSQL(数据库服务)、nginx(反向代理)和puma(Web服务器)。...

    rvm nginx passenger rails配置服务器.docx

    3. **Passenger**:Passenger(又名Phusion Passenger)是一个方便且高效的Rails应用服务器模块,它可以无缝集成到Nginx中,简化Rails应用的部署和管理。 接下来,我们将按照以下步骤进行配置: ### 安装Passenger...

    Wrox.Professional.Ruby.on.Rails.Feb.2008

    《Wrox Professional Ruby on Rails》是一本面向中级到高级Rails程序员的专业书籍。本书假设读者已经熟悉Ruby语言,并通过阅读入门级的Rails书籍或通过其他途径掌握了基本的Rails应用开发技能。 本书的重点在于如何...

    基于Ubuntu Nginx Mongrel Mysql部署rails monit-5.0

    在部署这个环境时,首先需要在Ubuntu上安装必要的软件包,包括Ruby、Rails、Nginx、MySQL以及Monit。然后,配置Nginx作为反向代理来分发请求到Mongrel实例。数据库配置需要设置Rails应用与MySQL的连接。接着,部署...

    Ruby-極光Rails5專屬伺服器安裝包

    《Ruby-極光Rails5專屬伺服器安裝包》 在现代Web开发领域,Ruby on Rails(简称Rails)框架以其高效...对于Ruby on Rails开发者来说,这是一个非常实用的工具,能够帮助他们快速建立和运行项目,节省宝贵的开发时间。

    Linux系统平台上安装和配置Ruby on Rails

    在Linux系统上安装和配置Ruby on Rails是一个常见的任务,特别是在开发Web应用程序时。Ruby on Rails(RoR)是一个基于Ruby语言的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式,强调简洁和生产力。在...

    Linux系统上配置Nginx+Ruby on Rails+MySQL超攻略

    通过以上步骤,你就成功地在Linux系统上配置了Nginx、Ruby on Rails和MySQL的环境,可以开始开发和部署你的Rails应用了。记得在实际生产环境中,还需要考虑安全、日志管理和性能优化等更多细节。

Global site tag (gtag.js) - Google Analytics