当前位置: 首页>>技术教程>>正文


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

, , ,

问题描述

我正在尝试通过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上安装了SSL,这似乎在/etc/apache2/ports.conf中添加了额外的配置:

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

但我认为我也可以允许它并评论其他人。无论如何,谢谢您的解决方案:)

第三种方案

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

要在配置文件中找出端口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文件中删除该行或对其进行命令(听443)。

第四种方案

对于在端口上没有重复的Listen指令且没有正在运行的进程的其他所有人:请检查您是否没有在apache2.conf中不小心将ports.conf两次包含在内(因为合并不当,所以我这样做了)。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8109.html,未经允许,请勿转载。