检查在 CentOS 上运行新网站的问题

检查在 CentOS 上运行新网站的问题

我有一个空的 CentOS 6.3 盒子。我需要从此服务器运行多个网站。到目前为止,我已经完成了以下工作:

  1. 按照以下步骤安装 Apache、MySQL、PHP 和 PHP 模块本文。
  2. 我在 /var/www/html/ 文件夹中创建了一个测试文件 index.html,并尝试通过将浏览器指向服务器的 IP 来访问默认站点。但它没有显示任何内容。
  3. 我注释了 httpd.conf 文件中的“DocumentRoot /var/www/html”行,并添加了 Virtualhost 设置:

名称虚拟主机 *:80

<VirtualHost *:80>
  ServerName abc.com
  DocumentRoot /var/www/vhosts/abc.com
  DirectoryIndex index.php
  <Directory "/var/www/vhosts/abc.com">
    DirectoryIndex index.php
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

笔记上面的 abc.com 是我的服务器的主机名,我以以下身份连接到服务器[电子邮件保护]

  1. 我创建了文件夹 /vhosts/abc.com 并在其中放置了一个文件 index.php
  2. 然后我使用 service httpd restart 重新启动了服务器

将浏览器指向服务器的 IP 或 abc.com,会显示“无法显示页面”。如果我尝试检查 /var/log/httpd/access_log 或 /var/log/httpd/error_log,则不会显示任何内容。

更新:我的 /etc/hosts 文件如下:

127.0.0.1 localhost.localdomain localhost
108.175.9.103 abc.com

/etc/sysconfig/network 文件是:

NETWORKING=yes
HOSTNAME=localhost.localdomain

我如何检查问题出在哪里?这里可能有什么问题?

更新2:我的 iptables 文件如下所示:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

在最后一行之后(COMMIT 之后),我尝试添加:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

但是重新启动 iptables 服务会引发错误。

答案1

您可能需要在 iptables 防火墙中打开端口 80

iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

如果此操作有效,则需要保存防火墙的状态

service iptables save

如果这个方法可行,因为你似乎要使用标准 /var/www 之外的文档根目录,那么你还需要更改新根目录的 SELinux 上下文,因此请查看这个答案如何做到这一点。

相关内容