我遇到了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.conf 和 httpd.conf 文件中的内容。非常迫切。
提前致谢!
答案 0 :(得分:1)
如果您同时运行apache
和webrick
,则他们无法同时侦听端口80.
答案 1 :(得分:1)
您可能正在端口80上运行其他应用程序,这可能实际上是您用来测试应用程序的WebRick。
使用netstat -lnptu
检查使用了哪些端口,它可能表明webrick使用了这些端口,或其他东西。
您还必须以apache
开始root
,因为1024以下的端口只能以root
访问权限打开。 (您可以在centos中更改此行为,请参阅:https://serverfault.com/questions/84360/regular-user-using-ports-below-1024)
答案 2 :(得分:0)
找出端口80上正在运行的进程。
使用 -
netstat -ant
如果要打开单个端口,请使用:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
此外,您可以获得which process is lisening port 80的帮助。