Debian 8 使用 Apache 部署 Ruby on Rails

综合分类评论1,099字数 575阅读模式

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/

文章末尾固定信息

继续阅读
 
joseph
  • 本文由 joseph 发表于 2017年6月12日
  • 除非特殊声明,本站文章许可协议为"署名-非商用-相同方式共享 4.0",转载请保留原链、作者等信息。
  • Ruby on Rails
  • Phusion Passenger
Debian (Bookworm) 12.6 更新 综合分类

Debian (Bookworm) 12.6 更新

Debian 12.6 现已发布,这是 12 系列的第 6 次更新。此版本主要添加了针对安全问题的更正,以及针对严重问题的少量调整。 修复扩展属性的并发读取问题 处理包含冲突值的多个边界参数 [CVE...
广告也精彩
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证