我是个新手 - 尝试在 Rackspace Cloud 上的 Ubuntu 9.10(Karmic Koala)上设置 apache2。我已经设置/配置了 OpenSSL 并安装了 Apache,但 Apache 无法启动。我猜想这是我的 /etc/apache2/sites-available/ssl 或 /etc/apache2/sites-available/default 文件中的错误配置)
当我尝试使用以下命令重新启动 apache 时:
sudo /etc/init.d/apache2 restart 我收到以下错误消息:
[错误](EAI 2)名称或服务未知:无法解析主机名*.80——忽略! [错误](EAI 2)名称或服务未知:无法解析主机名*.80——忽略! (98)地址已在使用中:make_sock:无法绑定到地址 0.0.0.0:80 没有可用的监听套接字,正在关闭 无法打开日志...失败!
对于我的 /etc/apache2/sites-available/ssl,我使用了 *:443 虚拟主机。
对于我的 /etc/apache2/sites-available/default,我使用了 *:80 虚拟主机
答案1
错误消息中说的是 .80 而不是 :80,请查看所有配置文件以查看是否有任何内容提到这一点。仔细检查 ServerName 设置。
最后的错误意味着某个进程已经在使用您服务器上的端口 80,并且绑定到一个或多个接口。要查看是哪个,请以 root 身份登录并输入:netstat -nap | grep :80
并检查它是什么进程,如果它不应该运行,则将其终止。最有可能是一个死的/孤立的 apache/httpd 进程,在您启动/重新启动时卡住了。如果需要,请手动终止它。
答案2
您应该将 ServerName 设置为 httpd.conf,同时确保设置了主机名 - 运行 uname -n
答案3
1)运行此命令,它将检索您的服务器名称。
uname -r
2) 复制您的服务器名称,然后编辑您的 apache conf 文件以定义 ServerName 指令。
在 Ubuntu 或 Debian 中:vim /etc/apache2/apache2.conf
首先尝试查找 ServerName 指令,可以用 # 注释,如果不存在则添加它。
服务器名称 你的服务器名称
您还必须检查是否已定义 Listen 指令。
收听 *:80
3)重新加载apache配置:
/etc/init.d/apache2 重新加载
4)重新启动apache:
/etc/init.d/apache2 重新启动