无法通过虚拟主机 + centos + apache 将网站域指向 Rails 应用程序
Posted
技术标签:
【中文标题】无法通过虚拟主机 + centos + apache 将网站域指向 Rails 应用程序【英文标题】:Unable to point website domain to rails app via virtual host + centos + apache 【发布时间】:2015-07-01 00:30:31 【问题描述】:我在 Hostgator 中有专门的服务器网络托管。 - CentOs 6 64位 - 专用服务器 - 阿帕奇 我有一个专用的主机 IP,我用 IP 创建了“A”记录(域名托管在 GoDaddy 中)。
我的问题是创建虚拟主机以将 rails 应用程序指向我的域。我正在尝试配置域。我没有找到配置默认文档根目录的 conf 文件。我尝试更改 etc/httpd/conf/httpd.conf 中的 conf 文件,但没有用。一些默认文档根(/usr/local/apache/htdocs)页面正在呈现。我需要找到文档根虚拟配置,然后需要将我的域指向它。我需要这方面的帮助。
这是我在 httpd conf 文件中的默认虚拟主机设置:
NameVirtualHost *
# Default vhost for unbound IPs
<VirtualHost *>
ServerName examle_server_name
DocumentRoot /usr/local/apache/htdocs
ServerAdmin root@example_server
<IfModule mod_suphp.c>
suPHP_UserGroup nobody nobody
</IfModule>
</VirtualHost>
即使我将服务器名称更改为我的域名,也没有更改。此外,如果我删除这些行,它会显示默认页面 /usr/local/apache/htdocs.
如何/在哪里可以更改它以将我的 Rails 应用程序指向/指向域。
我还需要在 rails 3000 端口上运行的 rails 应用配置的 Apache VirtualHost 设置
请帮帮我。
问候, 兰吉特
【问题讨论】:
【参考方案1】:Apache 是否与 easyapache/Cpanel 一起安装? (hostgator 经常出现这种情况) 然后你的 apache 主 conf 文件将位于 /usr/local/apache/conf/httpd.conf。但是,不建议您直接更改该文件,因为它可能会在 apache 重建其 conf 文件时被覆盖。 对于虚拟主机中未包含的更改,请使用 pre 和 posts 文件,其位置将在主 conf 文件中指示。 对于虚拟主机内部的更改,请使用 conf 文件中为每个域指定的文件进行更改
【讨论】:
【参考方案2】:为了在服务器中部署应用程序,我使用此虚拟主机配置
<VirtualHost *:80>
ServerName mydomain.com
DocumentRoot /path/to/rails/public/folder
<Directory /path/to/rails/public/folder >
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
我在/etc/apache2/sites-enabled/mysite.conf
中创建了一个文件,但我是在 Ubuntu 服务器中进行的。不知道CentOS中的位置是不是一样。
您可以为 3000 端口应用创建另一个类似这样的文件。
我跳过了文件中的 Passenger (https://www.phusionpassenger.com/) 设置。我用它来服务 Rails 应用程序。
进行任何更改后,您需要重新启动服务器
sudo service apache2 restart
【讨论】:
以上是关于无法通过虚拟主机 + centos + apache 将网站域指向 Rails 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Linux学习--CentOS7 安装好MySQL及Apache后,宿主机无法打开网页
虚拟机centos下apache开启但是主机输入ip无法访问
Linux(CentOS)上,安装了Apache(httpd)后,其他的电脑无法访问的原因