我的 apache2 网络服务器启动两次但无法绑定,所以我必须这样做:
sudo netstat -nap | grep 0.0.0.0:443
sudo kill -9 1243
sudo /etc/init.d/apache2 restart
有什么方法可以让我根据上面的代码编写一个脚本,以便在启动时自动运行?
我有 Ubuntu 10.04,更新后发生了这种情况。
更新: ports.conf-这可能是因为:
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
它可能监听了 443 两次吗?或者我需要添加 NameVirtualHost *:443
答案1
您可能希望实际解决 apache 服务想要加载的多个版本的问题,并修复问题的根源,而不是编写脚本来修补下游问题。
一种可能是,你已将 Apache 配置为从 和 加载init.d
。upstart
这是一个旧的与新的服务管理器。请参阅此帖子upstart 和 init.d 的区别。
检查你的/etc/init
和,/etc/init.d
看看它们是否都包含 apache 条目。如果是,你需要禁用其中一个。upstart
是较新的,所以你应该禁用较旧的init.d
(我的猜测)。
参考此页面(以及其他页面)以获取有关如何禁用或删除 init.d 服务的信息:在 Debian 上删除不需要的启动文件或服务