gpt4 book ai didi

ruby-on-rails - 为 Rails 应用程序设置 httpd.conf

转载 作者:太空宇宙 更新时间:2023-11-04 04:18:11 25 4
gpt4 key购买 nike

我正在尝试将 Rails 应用程序从 Heroku 迁移到 Amazon EC2,但我之前从未在服务器上工作过,更不用说在 Linux 上或使用 Apache 了。与 Apache 一起,我还使用 Thin gem。我尝试配置我的 httpd.conf,就像我在[此处]读到的那样,但它只显示一个“Index of/”页面,该页面显示目录中的文件(我的静态错误页面和图标),这不是我通常看到我的应用程序的方式(根设置为另一个 View )。 1

<VirtualHost *:80>
DocumentRoot /opt/bitnami/apache2/myapp/public
<Directory /opt/bitnami/apache2/myapp/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>

我是否在 httpd.conf 文件中错误地声明了我的应用程序?我意识到我直接指向 public 目录,而我的正常根目录是 Pages#index,但我在 httpd.conf 文件中看到的所有 Rails 配置似乎都指向 public 目录。

我认为这一定与我配置文件的方式有关,因为我的应用程序在 Heroku 和本地的正确页面上启动。

最佳答案

在配置 Apache conf 文件之前从这里开始。您将需要乘客才能运行您的 Rails 应用程序。如果您安装了 Rails,则可以在 Ubuntu 上使用 rvmsudo 执行此操作,如下所示。

xyz@superGLTS:~$ rvmsudo gem install passenger
xyz@superGLTS:~$ rvmsudo passenger-install-apache2-module

确保使用 rvmsudo,因为它会考虑您所有的 Rails 环境变量。

如果失败,请发布错误的输出,因为您可能需要安装其他支持库。

一旦您拥有适用于 Rails 应用程序的应用程序服务器,我们就可以回到您的 conf 文件。

EDIT1:如果在较新安装的 Ubuntu 上 Passenger 安装失败,那么您可能需要安装 build-essential,如下所示:

xyz@spuerGLTS:~$ sudo apt-get install build-essential

编辑2:

您现在遇到的错误是 tmp/cache 上的权限问题。运行 Web 服务器的 User:Group 必须拥有或能够写入该目录结构 tmp/cache/...。在您发布到 Git 上的 httpd.conf 中,您有 daemon:daemon 运行您的 Web 服务器。那是你的问题。你也许可以通过 chowning tmp/cache 到 daemon:daemon 来快速修复它,但这有点不成熟。您应该为此唯一目的创建一个 user:group,然后正确配置environment.rb,已经有一段时间了,但是乘客指南中应该有关于用户配置和设置权限的部分

关于ruby-on-rails - 为 Rails 应用程序设置 httpd.conf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15108583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com