Debian 8 使用 Apache 部署 Ruby on Rails

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 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社区”。
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
安全 应用服务中间件 nginx
百度搜索:蓝易云【使用Debian、Docker和Nginx部署Web应用教程】
这些是在Debian上使用Docker和Nginx部署Web应用的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
45 0
|
4月前
|
安全 网络协议 Linux
Linux加强篇010-使用Apache服务部署静态网站
山重水复疑无路,柳暗花明又一村
282 0
|
1月前
|
分布式计算 Apache 调度
Apache Hudi 异步Compaction部署方式汇总
Apache Hudi 异步Compaction部署方式汇总
34 0
|
1月前
|
数据挖掘 Apache 数据安全/隐私保护
使用Docker部署Apache Superset并实现公网远程访问
使用Docker部署Apache Superset并实现公网远程访问
|
6月前
|
Java 应用服务中间件 Apache
Apache Maven项目的搭建与部署
Apache Maven项目的搭建与部署
176 0
|
6月前
|
存储 固态存储 关系型数据库
Apache Doris 系列: 入门篇-安装部署
Apache Doris 系列: 入门篇-安装部署
378 0
|
3月前
|
安全 网络安全 Apache
Windows下Apache部署多个php项目
在 Windows 系统下,使用 Apache 服务器发布多个 PHP 项目是一项常见的任务。本文将介绍如何在 Windows 操作系统下使用 Apache 发布多个 PHP 项目。在 Windows 操作系统下使用 Apache 发布多个 PHP 项目可能有一些挑战,但是只要您按照本文的步骤进行操作,您就可以成功地完成这项任务。希望本文能够对您有所帮助。
60 0
|
4月前
|
缓存 关系型数据库 数据库
上云一年烧320万美元,成功“下云”六个月后Ruby on Rails之父现身回了 14 个问题!...
上云一年烧320万美元,成功“下云”六个月后Ruby on Rails之父现身回了 14 个问题!...
25 1
|
4月前
|
存储 Java 网络安全
ZooKeeper【部署 03】apache-zookeeper-3.6.0 伪集群版(一台服务器实现三个节点的ZooKeeper集群)
ZooKeeper【部署 03】apache-zookeeper-3.6.0 伪集群版(一台服务器实现三个节点的ZooKeeper集群)
50 0
|
4月前
|
存储 Java 网络安全
ZooKeeper【部署 02】apache-zookeeper-3.6.0 集群版(准备+安装配置+启动验证)
ZooKeeper【部署 02】apache-zookeeper-3.6.0 集群版(准备+安装配置+启动验证)
44 0