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实践...
通过以上步骤,可以完成 Ruby on Rails 开发环境的基本搭建,并且能够使用 Passenger+Nginx 进行高效部署。对于初学者而言,这一系列的操作可能会有些复杂,但随着实践的增多,这些步骤会变得越来越熟悉。同时,在...
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 on Rails框架构建电子商务平台的项目。Ruby on Rails(RoR)是一个开源的Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,以Ruby编程语言为...
本项目是基于C++和多种语言的mod_rails Phusion Passenger设计源码,包含...这个项目是一个旨在从Apache和Nginx网页服务器上更便捷的部署Ruby on Rails项目的Apache模块,旨在简化Ruby on Rails项目的部署和维护过程。
- **部署**:Rails应用可以部署在多种服务器环境中,如Apache、Nginx和Puma等,同时支持云平台如Heroku和AWS。 - **国际化与多语言支持**:Rails提供了i18n(Internationalization)框架,支持多国语言和时区设置,...
《敏捷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...
《Wrox Professional Ruby on Rails》是一本面向中级到高级Rails程序员的专业书籍。本书假设读者已经熟悉Ruby语言,并通过阅读入门级的Rails书籍或通过其他途径掌握了基本的Rails应用开发技能。 本书的重点在于如何...
在部署这个环境时,首先需要在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应用了。记得在实际生产环境中,还需要考虑安全、日志管理和性能优化等更多细节。