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" 涉及到的是在Web开发中使用Ruby on Rails框架结合Nginx服务器进行应用部署的相关知识。Nginx以其高性能、稳定性以及反向代理和负载均衡能力,常被用作Rails应用的前端服务器。下面将详细...
在部署方面,Rails应用通常运行在如Passenger、Unicorn或Puma这样的服务器上,配合Nginx或Apache作为反向代理。Heroku、DigitalOcean和AWS等云平台为Rails应用提供了便捷的部署选项。 总的来说,Ruby on Rails实践...
9. **部署和服务器**:学习如何将Rails应用部署到像Heroku或DigitalOcean这样的云平台,以及如何配置Nginx或Apache作为应用服务器。 10. **社区和资源**:Rails拥有活跃的社区,如Stack Overflow、GitHub、Rails...
9. 布署与服务器配置:Rails应用通常部署在如Heroku、AWS或DigitalOcean等云平台上,使用Nginx或Apache作为反向代理,Passenger、Puma或Unicorn作为应用服务器。 10. 性能优化:Rails应用可以通过缓存、数据库索引...
本人学习ruby on rails 的开发和部署过程中的环境搭建的笔记 基本涵盖了ruby开发中用到的所有软件的安装 也给自己留个存档
《基于Ruby On Rails的在线购书系统》是一个深入探讨如何利用Ruby on Rails框架构建电子商务平台的项目。Ruby on Rails(RoR)是一个开源的Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,以Ruby编程语言为...
本项目是基于C++和多种语言的mod_rails Phusion Passenger设计源码,包含...这个项目是一个旨在从Apache和Nginx网页服务器上更便捷的部署Ruby on Rails项目的Apache模块,旨在简化Ruby on Rails项目的部署和维护过程。
Ruby on Rails,简称Rails,是一种基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。Rails的核心理念是“Don't Repeat Yourself”(DRY,不要重复...
《敏捷Web开发:Ruby on Rails实战》是编程领域的一本经典著作,专注于使用Ruby on Rails框架进行高效、灵活的Web应用开发。此书的第一版经过修补,补充了第二版未涉及的一些关键知识点,例如fastCGI的部署策略,这...
在这个“Ruby on Rails博客程序”中,我们将深入探讨如何在Ubuntu 11.10操作系统上,使用Rails 3.0.8版本构建一个简单的博客平台。 首先,我们要了解Rails的基本概念。MVC架构将应用分为三个主要部分:模型(Model...
本篇文章将详细探讨如何使用Ansible部署一个基于Ruby on Rails的应用,该应用集成了Lets Encrypt(用于SSL证书)、Sidekiq(后台任务处理)、PostgreSQL(数据库服务)、nginx(反向代理)和puma(Web服务器)。...
3. **Passenger**:Passenger(又名Phusion Passenger)是一个方便且高效的Rails应用服务器模块,它可以无缝集成到Nginx中,简化Rails应用的部署和管理。 接下来,我们将按照以下步骤进行配置: ### 安装Passenger...
在部署这个环境时,首先需要在Ubuntu上安装必要的软件包,包括Ruby、Rails、Nginx、MySQL以及Monit。然后,配置Nginx作为反向代理来分发请求到Mongrel实例。数据库配置需要设置Rails应用与MySQL的连接。接着,部署...
《Ruby-極光Rails5專屬伺服器安裝包》 在现代Web开发领域,Ruby on Rails(简称Rails)框架以其高效...对于Ruby on Rails开发者来说,这是一个非常实用的工具,能够帮助他们快速建立和运行项目,节省宝贵的开发时间。
在Linux系统上安装和配置Ruby on Rails是一个常见的任务,特别是在开发Web应用程序时。Ruby on Rails(RoR)是一个基于Ruby语言的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式,强调简洁和生产力。在...
通过以上步骤,你就成功地在Linux系统上配置了Nginx、Ruby on Rails和MySQL的环境,可以开始开发和部署你的Rails应用了。记得在实际生产环境中,还需要考虑安全、日志管理和性能优化等更多细节。
在RHEL(Red Hat Enterprise Linux)系统上搭建Ruby on Rails(简称RoR)应用程序环境是一项技术性较强的任务,尤其当涉及到与其他服务如Nginx、Phusion Passenger、Ruby、Rails以及Oracle数据库集成时。以下是对这...
标题中的“利用Unicorn和Nginx部署Redmine”指的是在服务器上安装并配置Redmine项目管理工具,通过Unicorn作为应用服务器,Nginx作为反向代理和负载均衡器,来提供高效、稳定的服务。这是一个常见的Web应用程序部署...
完成开发后,可以将Rails应用部署到云服务提供商如Heroku,或者自建服务器上,如使用Nginx+Passenger、Puma或Unicorn等Web服务器。 通过深入研究`rails_sample_app`,你可以了解Rails的每个组件是如何协同工作的,...