invoke-rc.d: initscript apache2, action "restart" failed.
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2022-02-16 07:12:03 UTC; 8ms ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 638499 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
Feb 16 07:12:03 server systemd[1]: Starting The Apache HTTP Server...
Feb 16 07:12:03 server apachectl[638502]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Feb 16 07:12:03 server apachectl[638502]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
Feb 16 07:12:03 server apachectl[638502]: no listening sockets available, shutting down
Feb 16 07:12:03 server apachectl[638502]: AH00015: Unable to open logs
Feb 16 07:12:03 server apachectl[638499]: Action 'start' failed.
Feb 16 07:12:03 server apachectl[638499]: The Apache error log may have more information.
Feb 16 07:12:03 server systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
Feb 16 07:12:03 server systemd[1]: apache2.service: Failed with result 'exit-code'.
Feb 16 07:12:03 server systemd[1]: Failed to start The Apache HTTP Server.
Setting up php8.1 (8.1.2-1+ubuntu20.04.1+deb.sury.org+1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for php8.1-cli (8.1.2-1+ubuntu20.04.1+deb.sury.org+1) ...
Processing triggers for libapache2-mod-php8.1 (8.1.2-1+ubuntu20.04.1+deb.sury.org+1) ...
root@server:~#
我尝试过清除并重新安装 apache 和 php8.1,但无法使其正常工作。我遗漏了什么吗?运行后sudo apache2ctl -t
出现 OK 语法,运行后sudo systemctl restart apache2
显示以下内容:
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
我在 Ubuntu Server 20.04 上,并且正在使用 OpenSSH。提前致谢。
编辑:NetBat 要求输出一些函数,如下所示:
zein127@server:~$ sudo sudo service --status-all | grep -i apache
ep -i apache
sudo ps -aux | grep -i apache
ls -l /etc/apache2/sites-enabled
grep -R "80" /etc/apache2 [ - ] apache-htcacheclean
[ + ] apache2
zein127@server:~$ sudo systemctl --type service --all | grep -i apache
apache2.service loaded active running The Apache HTTP Server
● snap.nextcloud.apache.service loaded failed failed Service for snap application nextcloud.apache
zein127@server:~$ sudo ps -ef | grep -i apache
root 1943 1 0 18:24 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 2238 1943 0 18:24 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 2239 1943 0 18:24 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 2240 1943 0 18:24 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 2241 1943 0 18:24 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 2242 1943 0 18:24 ? 00:00:00 /usr/sbin/apache2 -k start
zein127 9072 5247 0 18:25 pts/0 00:00:00 grep --color=auto -i apache
zein127@server:~$ sudo ps -aux | grep -i apache
root 1943 0.0 0.2 199540 18664 ? Ss 18:24 0:00 /usr/sbin/apache2 -k start
www-data 2238 0.0 0.1 199964 8276 ? S 18:24 0:00 /usr/sbin/apache2 -k start
www-data 2239 0.0 0.1 199964 8276 ? S 18:24 0:00 /usr/sbin/apache2 -k start
www-data 2240 0.0 0.1 199964 8276 ? S 18:24 0:00 /usr/sbin/apache2 -k start
www-data 2241 0.0 0.1 199964 8276 ? S 18:24 0:00 /usr/sbin/apache2 -k start
www-data 2242 0.0 0.1 199964 8276 ? S 18:24 0:00 /usr/sbin/apache2 -k start
zein127 9075 0.0 0.0 6432 740 pts/0 S+ 18:25 0:00 grep --color=auto -i apache
zein127@server:~$ ls -l /etc/apache2/sites-enabled
total 0
lrwxrwxrwx 1 root root 35 Feb 16 07:05 000-default.conf -> ../sites-available/000-default.conf
zein127@server:~$ grep -R "80" /etc/apache2
/etc/apache2/sites-available/nextcloud.conf:<VirtualHost *:80>
/etc/apache2/sites-available/000-default.conf:<VirtualHost *:80>
/etc/apache2/sites-enabled/000-default.conf:<VirtualHost *:80>
/etc/apache2/magic:1080 string M.K. audio/x-mod
/etc/apache2/magic:1080 string M!K! audio/x-mod
/etc/apache2/magic:1080 string FLT4 audio/x-mod
/etc/apache2/magic:1080 string FLT8 audio/x-mod
/etc/apache2/magic:1080 string 4CHN audio/x-mod
/etc/apache2/magic:1080 string 6CHN audio/x-mod
/etc/apache2/magic:1080 string 8CHN audio/x-mod
/etc/apache2/magic:1080 string CD81 audio/x-mod
/etc/apache2/magic:1080 string OKTA audio/x-mod
/etc/apache2/magic:#>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data
/etc/apache2/magic:1080 string 16CN audio/x-mod
/etc/apache2/magic:1080 string 32CN audio/x-mod
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000081a application/x-arc lzw
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000091a application/x-arc squashed
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000021a application/x-arc uncompressed
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000031a application/x-arc packed
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000041a application/x-arc squeezed
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000061a application/x-arc crunched
/etc/apache2/magic:2080 string Microsoft\ Excel\ 5.0\ Worksheet application/excel
/etc/apache2/magic:2080 string Microsoft\ Word\ 6.0\ Document application/msword
/etc/apache2/magic:2080 string Documento\ Microsoft\ Word\ 6 application/msword
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000081a application/x-arc
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000091a application/x-arc
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000021a application/x-arc
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000031a application/x-arc
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000041a application/x-arc
/etc/apache2/magic:0 lelong&0x8080ffff 0x0000061a application/x-arc
/etc/apache2/magic:# 0x9445366139FA (V 3.80)
/etc/apache2/ports.conf:Listen 80
答案1
情况分析
从您的日志中:
Address already in use: AH00072: make_sock: could not bind to address [::]:80
Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
发生与您的 TCP 端口 80 相关的冲突。您的服务器出现问题的原因可能有两个:
- 后台的某些应用程序或服务使用与 Apache 希望使用的相同的 TCP 80 端口。
- 您的 Apache 配置中的端口+地址/套接字设置错误。与 #1 相比,该原因的可能性较小。
解决方案
安装 net-tools 并使用 netstat 获取系统中哪些进程/应用程序占用 TCP 80 的信息。
sudo apt-get install net-tools
sudo netstat -lntp | grep -e ":80" -e "PID"
现在您看到使用端口 80 的进程号和应用程序名称。禁用此应用程序或更改应用程序设置以使用 TCP 80 以外的其他端口。
详细进程列表可用于搜索有关正在监听您的 TCP 端口的应用程序的详细信息:
ps -ef
ps -aux
搜索从netstat
输出中获得的进程号。
评论中有新信息后的扩展答案
根据您的回复,看来有两个 Apache 实例发生了冲突。
重启服务器。在“全新”系统中使用这些命令,并将其输出粘贴到您的问题中。
sudo sudo service --status-all | grep -i apache
sudo systemctl --type service --all | grep -i apache
sudo ps -ef | grep -i apache
sudo ps -aux | grep -i apache
ls -l /etc/apache2/sites-enabled
grep -R "80" /etc/apache2
编辑
(根据我的请求,InsertRandomString 粘贴了新数据之后)
您的系统上已有一个正在运行并监听的 Apache 实例。正在运行的 Apache 服务显示在您附加的新输出中。无需安装任何新的 Web 服务器(Apache、Nginx……)。不要安装它,而是使用已有的。
通过 Web 浏览器验证 Apache 功能。将您的服务器 IP 地址输入 Web 浏览器的地址栏,然后按 Enter。您将看到默认的 Apache 页面,确认服务器正常。例如http://192.168.1.25
您的 Web 服务器能够同时在不同的域中发布更多虚拟站点。每个站点都必须在/etc/apache2/sites-available
目录中有自己的文件,并且 中/etc/apache2/sites-enabled
也有。 中/etc/sapache2/sites-enabled
只有已启用站点的符号链接。
您是否计划在您的服务器上使用更多域名和更多虚拟站点?
- 如果是,请在 中为 Nextcloud 站点创建新文件
/etc/apache2/sites-available
并将其链接到/etc/apache2/sites-enabled
。您需要为 Nextcloud 站点设置特殊域,并且还必须设置 DNS 记录。 - 如果没有,请编辑文件中的默认站点参数
/etc/apache2/sites-available/000-default.conf
并设置正确的值,例如包含所有 Nextcloud PHP 文件的目录名称等。没有必要(但可以)有特殊域名。IP 地址足以显示您的 Nextcloud 站点。
我想您知道如何设置 Apache 配置文件来发布 Nextcloud 站点(例如/var/www/nextcloud
而不是默认页面)/var/www/html
。
如果您打算使用具有公共 IP 地址的 Nextcloud,则绝对有必要配置 SSL、证书并启用安全 HTTPS 访问。否则您的 Nextcloud 用户名和密码可能会被捕获和泄露。
我的个人笔记
Nextcloud 并不像看上去那么简单。必须安装许多 PHP 模块、准备 MySQL 数据库等。但我非常喜欢这项服务,它是我在多个设备上共享和同步数据的首选工具。