`

部署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入门经典

    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环境搭建学习笔记;passenger+nginx环境配置

    本人学习ruby on rails 的开发和部署过程中的环境搭建的笔记 基本涵盖了ruby开发中用到的所有软件的安装 也给自己留个存档

    基于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

    Ruby on Rails,简称Rails,是一种基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。Rails的核心理念是“Don't Repeat Yourself”(DRY,不要重复...

    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...

    基于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应用了。记得在实际生产环境中,还需要考虑安全、日志管理和性能优化等更多细节。

    在RHEL上安裝設置ROR(nginx+passenger+ruby+rails+oracle+netzke)

    在RHEL(Red Hat Enterprise Linux)系统上搭建Ruby on Rails(简称RoR)应用程序环境是一项技术性较强的任务,尤其当涉及到与其他服务如Nginx、Phusion Passenger、Ruby、Rails以及Oracle数据库集成时。以下是对这...

    利用Unicorn和Nginx部署Redmine

    标题中的“利用Unicorn和Nginx部署Redmine”指的是在服务器上安装并配置Redmine项目管理工具,通过Unicorn作为应用服务器,Nginx作为反向代理和负载均衡器,来提供高效、稳定的服务。这是一个常见的Web应用程序部署...

    rails_sample_app:Ruby on Rails 教程

    完成开发后,可以将Rails应用部署到云服务提供商如Heroku,或者自建服务器上,如使用Nginx+Passenger、Puma或Unicorn等Web服务器。 通过深入研究`rails_sample_app`,你可以了解Rails的每个组件是如何协同工作的,...

Global site tag (gtag.js) - Google Analytics