Apache + WSGI:已在使用的地址:make_sock:无法绑定到地址

时间:2013-06-04 10:21:39

标签: apache ubuntu apache2 mod-wsgi wsgi

当我尝试启动Apache2时收到以下消息:

* Restarting web server apache2                                                  
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:2080
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.

uwsgi正在侦听该端口:

sudo netstat -ltnp | grep ':2080'
tcp        0      0 0.0.0.0:2080            0.0.0.0:*               LISTEN  884/uwsgi

在此之前我手动安装了wsgi

sudo apt-get install libapache2-mod-wsgi

因为我在尝试启动Apache时收到了此消息:

Syntax error on line 25 of /etc/apache2/sites-enabled/graphite:
Invalid command 'WSGIDaemonProcess', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

杀死进程无效,因为它会自动重启。我可以使用命令

禁用它
sudo a2dismod wsgi

然后我再次收到“无效命令'WSGIDaemonProcess'消息。

apache error.log中不包含任何相关信息。

知道什么可以解决这个问题吗?因为现在我陷入僵局。

1 个答案:

答案 0 :(得分:1)

如果你得到:

Invalid command 'WSGIDaemonProcess', perhaps misspelled or defined by a module not included in the server configuration Action 'configtest' failed.

然后它意味着您没有在Apache中启用mod_wsgi模块,因此未加载它。

那或者你正在运行一个古老的Apache 1.3版本,虽然这是不太可能的,因为你认为你现在甚至不能为这样一个旧的Apache版本获得mod_wsgi二进制包。

至于端口使用情况,你显然不能使用相同的Apache和uWSGI,所以你需要用不同的端口设置它们。