Debian 8 使用 Apache 部署 Ruby on Rails

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Ruby on Rails 是一个快速开发的Web框架,Web设计人员和开发人员利用它能实现动态的全功能Web应用程序。 本文使用 Phusion Passenger 或mod_rails 方法部署 Rails 应用程序。

Ruby on Rails 是一个快速开发的Web框架,Web设计人员和开发人员利用它能实现动态的全功能Web应用程序。 本文使用 Phusion Passengermod_rails 方法部署 Rails 应用程序。 Passenger 允许您直接在Apachen应用程序中嵌入 Rails 应用程序,而无需使用FastCGI或复杂的Web服务器代理。

安装Passenger和依赖关系

1.安装使用Ruby,构建Ruby模块和运行Rails应用程序所需的系统包

sudo apt-get install build-essential libapache2-mod-passenger apache2 ruby ruby-dev libruby zlib1g-dev libsqlite3-dev

2.使用gem模块的gem包管理器,安装fastthread gem:

sudo gem install fastthread

3.安装Ruby On Rails:

sudo gem install rails

4.(可选)为您的应用程序安装其他依赖项,例如 MySQL 支持:

sudo apt-get install mysql-server libmysqlclient-dev mysql-client mysql-common
sudo gem install mysql

5.将rails添加到$PATH环境变量。 请确保用正在运行的Ruby版本替换VERSION:

ls /var/lib/gems
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/VERSION/bin"

6.在您的网站的公共文件夹中启动一个新的rails项目,以确保一切正常配置。 替换为你的应用程序名称:

sudo rails new /var/www/html/example.com/public_html/application

配置Apache以使用Passenger

1.打开配置文件,调整DocumentRoot
/etc/apache2/sites-available/example.com.conf:

DocumentRoot /var/www/html/example.com/application/public

2.重启Apache

sudo systemctl restart apache2

部署多个Rails应用程序

有许多方法可以使用Passenger部署多个Rails应用程序。 最简单的方法是运行如上配置的多个不同的虚拟主机来托管单个Rails应用程序。 或者,您可以在单个虚拟主机中托管多个Rails应用程序。 本节介绍一个。

1.添加RailsBaseURI指令,指定虚拟主机配置中Rails应用程序的路径,如以下示例所示, /etc/apache2/sites-available/example.com.conf:

DocumentRoot /var/www/html/example.com/public_html/
RailsBaseURI /app1
RailsBaseURI /app2
RailsBaseURI /app3

这些指令配置Passenger在example.com站点上指定的三个位置运行三个Rails应用程序。
2.将应用程序的public/目录链接到public_html/的子目录:

ln -s /var/www/html/example.com/app1/public/ /var/www/html/example.com/public_html/app1/
ln -s /var/www/html/example.com/app1/app2/ /var/www/html/example.com/public_html/app2/
ln -s /var/www/html/example.com/app1/app3/ /var/www/html/example.com/public_html/app3/

原文发布时间:2017-06-12
本文来自云栖社区合作伙伴“ Debian社区”,了解相关信息可以关注“ Debian社区”。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
42 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
1月前
|
Linux Apache 数据安全/隐私保护
kali向Apache上部署网页
kali向Apache上部署网页
57 5
|
2月前
|
前端开发 测试技术 数据库
使用Ruby on Rails进行快速Web开发的技术探索
【8月更文挑战第12天】Ruby on Rails以其高效、灵活和易于维护的特点,成为了快速Web开发领域的佼佼者。通过遵循Rails的约定和最佳实践,开发者可以更加专注于业务逻辑的实现,快速构建出高质量的Web应用。当然,正如任何技术框架一样,Rails也有其适用场景和局限性,开发者需要根据项目需求和个人偏好做出合适的选择。
|
2月前
|
前端开发 测试技术 API
揭秘Ruby on Rails的神秘力量:如何让你的Web应用飞起来?
【8月更文挑战第31天】Ruby on Rails(简称RoR)是一个基于Ruby语言的开源Web应用框架,自2005年发布以来,因简洁的语法、强大的功能和高效的开发效率而广受好评。RoR采用MVC架构,提高代码可读性和可维护性,拥有庞大的社区和丰富的库支持。本文通过示例代码展示其强大之处,并介绍RoR的核心概念与最佳实践,帮助开发者更高效地构建Web应用。
30 0
|
2月前
|
前端开发 API C++
在Ruby世界中寻找你的Web框架灵魂伴侣:Rails vs Sinatra
【8月更文挑战第31天】在Ruby的世界里,选择Web框架如同挑选衣物,需根据场合和需求。Rails与Sinatra是两大热门框架,前者以其“约定优于配置”理念和全面的功能成为企业级应用的首选;后者则以轻量级和灵活性著称,适用于快速原型开发和小规模应用。通过对比两者特性,如Rails的MVC架构与Sinatra的简洁API,我们可以看到它们各有所长。选择合适的框架,如同找到旅途中的最佳伙伴,让开发之路更加顺畅愉悦。这场探索之旅教会我们,没有绝对的好坏,只有最适合的选择。
25 0
|
2月前
|
安全 前端开发 数据安全/隐私保护
如何在Ruby on Rails中打造坚不可摧的OAuth认证机制
【8月更文挑战第31天】在构建现代Web应用时,认证与授权至关重要。本文介绍如何在Ruby on Rails中实现OAuth认证,通过使用`omniauth`和`devise` gems简化流程。首先安装并配置相关gem,接着在`User`模型中处理OAuth回调,最后设置路由及控制器完成登录流程。借助OAuth,用户可使用第三方服务安全地进行身份验证,提升应用安全性与用户体验。随着OAuth标准的演进,这一机制将在Rails项目中得到更广泛应用。
35 0
|
2月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu 14.04 上使用 Passenger 和 Apache 部署 Rails 应用
如何在 Ubuntu 14.04 上使用 Passenger 和 Apache 部署 Rails 应用
17 0
|
3月前
|
SQL 安全 数据库
Ruby on Rails 数据库迁移操作深度解析
【7月更文挑战第19天】Rails 的数据库迁移功能是一个强大的工具,它帮助开发者以版本控制的方式管理数据库结构的变更。通过遵循最佳实践,并合理利用 Rails 提供的迁移命令和方法,我们可以更加高效、安全地管理数据库结构,确保应用的稳定性和可扩展性。
|
2月前
|
关系型数据库 Linux 网络安全
"Linux系统实战:从零开始部署Apache+PHP Web项目,轻松搭建您的在线应用"
【8月更文挑战第9天】Linux作为服务器操作系统,凭借其稳定性和安全性成为部署Web项目的优选平台。本文以Apache Web服务器和PHP项目为例,介绍部署流程。首先,通过包管理器安装Apache与PHP;接着创建项目目录,并上传项目文件至该目录;根据需要配置Apache虚拟主机;最后重启Apache服务并测试项目。确保防火墙允许HTTP流量,正确配置数据库连接,并定期更新系统以维持安全。随着项目复杂度提升,进一步学习高级配置将变得必要。
142 0
|
4月前
|
Java 应用服务中间件 Apache
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
123 7
下一篇
无影云桌面