0

我对 apache vhost 有疑问。我正在运行rails 2.0.2应用程序centos6。该应用程序正在Webrick 服务器上运行。现在我已经在 apache 中设置了虚拟主机,但问题是应用程序不在端口 80上运行。但它在除 80 之外的所有其他端口上运行。

应该是什么原因?

以下是我app.conf文件中的代码-

/etc/httpd/sites-enabled/app.conf

Listen 80

<VirtualHost *:80>

 DocumentRoot /var/www/app/public
 ServerName www.domainname.com
 ServerAlias domainname.com

 ErrorLog /var/log/httpd/app/error.log
 CustomLog /var/log/httpd/app/access.log common

 <Directory /var/www/app/public>
    Allow from all
    Options -MultiViews
 </Directory>

</VirtualHost>

我已通过以下语句将此app.conf文件包含在我的文件中。httpd.conf

Include sites-enabled/*.conf

请建议我是否在app.confhttpd.conf文件中都缺少某些内容。它非常紧迫。

提前致谢!

4

3 回答 3

1

如果您正在运行apache并且webrick同时,它们不能同时侦听端口 80。

于 2013-02-12T08:54:16.637 回答
1

您可能正在端口 80 上运行其他应用程序,这实际上可能是您用来测试应用程序的 WebRick。

用于netstat -lnptu检查哪些端口被使用,它可能表明它被webrick使用,或其他东西。

您还必须以 开头,apache因为root1024 以下的端口只能通过root访问权限打开。(你可以在centos中改变这个行为,参考:https ://serverfault.com/questions/84360/regular-user-using-ports-below-1024 )

于 2013-02-12T08:55:59.287 回答
0

找出端口 80 上正在运行的进程。

采用 -

netstat -ant

如果要打开单个端口,请使用:

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

您也可以帮助了解哪个进程正在侦听端口 80

于 2013-02-12T08:58:05.290 回答