当重新启动apache(安装trac和mod_wsgi)时,“make_sock:无法绑定到地址:443”

我试图通过SSL安装trac和mod_wsgi。 我试图手动安装它,但这并没有很好的工作,所以我开始遵循这个: trac-on-ubuntu

我跳过了svn部分,因为我想用git来代替。 第一次编辑httpd.conf之后:

WSGIScriptAlias /trac /var/trac/apache/trac.wsgi <Directory /var/trac/apache> WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all </Directory> 

我重新启动apache只得到这个错误:

 * Restarting web server apache2 (98)Address already in use: make_sock: could not bind to address [::]:443 [ OK ] 

做这些没有显示。

  netstat -anp | grep 443 fuser 443/tcp 

这样做并没有产生任何东西,除了我跑的grep命令:

 ps -aux | grep httpd 

为什么当没有任何东西出现时,别的什么东西在使用端口?

编辑:你们会笑这个。 我在ports.conf中有一个额外的listen 443,不应该在那里。 删除,解决了这一点。

你们会嘲笑这个 我在ports.conf中有一个额外的listen 443,不应该在那里。 删除,解决了这一点。

我添加了另一个答案,因为我遇到了同样的问题,并以相同的方式解决了问题:我使用a2enmod ssl在apache2上安装了a2enmod ssl ,这似乎在/etc/apache2/ports.conf添加了一个额外的configuration:

 NameVirtualHost *:80 Listen 80 NameVirtualHost *:443 Listen 443 <IfModule mod_ssl.c> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule> 

我必须在NameVirtualHost *:443指令之后注释掉第一个Listen 443

 NameVirtualHost *:443 #Listen 443 

但我想我也可以让它评论别人。 无论如何,谢谢你的解决scheme:)

谢谢你的答案,在apache 2.4.x版本上如果已经使用yum命令安装了ssl_module,不想在httpd.conf(main)文件中添加端口:443

要findconfiguration文件中的端口443,

 # grep '443' /etc/httpd/conf.d/* /etc/httpd/conf.d/ssl.conf:Listen 443 https /etc/httpd/conf.d/ssl.conf:<VirtualHost _default_:443> /etc/httpd/conf.d/ssl.conf:#ServerName www.example.com:443 # grep '443' /etc/httpd/conf/httpd.conf Listen 443 

只需从httpd.conf文件中删除该行或命令它(Listen 443)即可。

对于没有重复的Listen指令而且没有在端口上运行的进程的其他人:检查你是否不小心地在apache2.conf中包含了两次ports.conf(就像我之前由于一次错误的合并所做的那样)。

我用的是apache版本2.4.27,也有这个问题,通过修改就解决了

conf / extra / httpdahssl.conf,注释18行内容(Listen 443 https),它工作正常。

我正在使用Ubuntu。 我只是禁用Apache2的SSL模式,它为我工作。

 a2dismod ssl 

然后重新启动apache2。

 service apache2 restart 

我已经检查并修复了以下问题并解决了问题 –

  1. httpd.conf文件位于/etc/httpd/conf/
  2. 检查了监听IP和端口,例如10.12.13.4:80
  3. 删除额外的侦听端口
  4. 重新启动httpd服务

我在启动XAMPP时遇到了windows7,phpeclipse中的问题。 我的解决scheme是:

  • 1.评论了\ xampp \ apache \ conf \ httpd.conf – > line171 – > #LoadModule ssl_module modules / mod_ssl.so

  • 2.line539 – > #include conf / extra / httpd-ssl.conf

或者您可以将443端口更改为另一个端口

我借调了Matthieu的答案

我在httpd-ssl文件中注释了#Listen 443,并且可以启动apache

因为该文件已经具有VirtualHost 默认值 :443

而在httpd.conf中:

 Listen *:443 

你需要写Listen 127.0.0.1:443它适用于我。

我犯了一个错误,在/etc/httpd/conf.d目录中错误地命名了一个备份文件。 在自述文件中,它声明它按字母顺序遍历所有的.conf文件。

我已经创build了ssl- < date > .conf(意为备份),并在ssl.conf之前加载。 它绑定了基于ssl- < date > .conf的443端口,并在ssl.conf上失败。

一旦我将备份文件重命名为ssl.conf < date >,服务开始没有问题。

请注意,我所在的服务器正在运行RHEL 6