Я использую локальный веб-сервер с несколькими веб-сайтами, использующими общий IP. Недавно я обновился до Ubuntu 22.04.1 LTS и только сейчас обнаружил, что только один из моих сайтов работает нормально. Я не могу сказать наверняка, что этой проблемы не было во время обновления, но не так давно она работала.
etc/hosts
192.168.1.29 secondbase
192.168.1.29 mattiefernworrix.lan
192.168.1.29 mfwsandbox
192.168.1.29 pinkpoodle
192.168.1.29 mfwx
secondbase
имя сервера.
mattiefernworrix.lan работает отлично, первый в списке. Остальные три — нет (mfwsandbox, pinkpoodle и mfwx). На самом деле, это не совсем так. Если я запрашиваю статическую html-страницу, она появляется так, как и ожидалось. Если я запрашиваю .php-файл, то он терпит неудачу с сообщением 503. Все php-файлы получают данные из базы данных mysql.
Насколько я могу судить, httpd не запущен.
jking@secondbase:/sbin$ systemctl status httpd
Unit httpd.service could not be found.
Поэтому я попытался установить httpd, но это не удалось.
sudo apt-get update
sudo apt-get install httpd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package httpd is a virtual package provided by:
nginx-light 1.18.0-6ubuntu14.1
nginx-full 1.18.0-6ubuntu14.1
nginx-extras 1.18.0-6ubuntu14.1
nginx-core 1.18.0-6ubuntu14.1
apache2 2.4.52-1ubuntu4.1
yaws 2.1.1+dfsg-1
webfs 1.21+ds1-12
tntnet 2.2.1-4build2
mini-httpd 1.30-2build1
micro-httpd 20140814-2.1
lighttpd 1.4.63-1ubuntu3
You should explicitly select one to install.
E: Package 'httpd' has no installation candidate
Наконец, я попробовал установить пакет apache2
jking@secondbase:/sbin$ sudo apt-get install apache2
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
apache2 is already the newest version (2.4.52-1ubuntu4.1).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
Не уверен, куда идти дальше. Удалить apache2 и установить его снова?
Любая помощь будет высоко оценена.
Спасибо за ваш ответ.
примеры сообщений файла журнала (объединенные):
192.168.1.29 - - [27/Aug/2022:16:36:22 -0700] "GET /index2.html HTTP/1.1" 200 318 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"
192.168.1.29 - - [27/Aug/2022:16:36:31 -0700] "GET /index.html HTTP/1.1" 200 318 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"
192.168.1.29 - - [27/Aug/2022:16:37:24 -0700] "GET /search_msqli.php HTTP/1.1" 503 565 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"
[Sat Aug 27 16:37:24.856332 2022] [proxy:error] [pid 1101] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.4-fpm.sock (*) failed
[Sat Aug 27 16:37:24.856459 2022] [proxy_fcgi:error] [pid 1101] [client 192.168.1.29:37158] AH01079: failed to make connection to backend: httpd-UDS
192.168.1.29 - - [27/Aug/2022:17:05:04 -0700] "GET /search_msqli.php HTTP/1.1" 503 565 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"
[Sat Aug 27 17:05:04.820227 2022] [proxy:error] [pid 4836] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.4-fpm.sock (*) failed
[Sat Aug 27 17:05:04.820254 2022] [proxy_fcgi:error] [pid 4836] [client 192.168.1.29:37160] AH01079: failed to make connection to backend: httpd-UDS
192.168.1.29 - - [27/Aug/2022:17:08:50 -0700] "GET /payments_msqli.php HTTP/1.1" 503 565 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"
[Sat Aug 27 17:08:50.349738 2022] [proxy:error] [pid 1100] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.4-fpm.sock (*) failed
[Sat Aug 27 17:08:50.349776 2022] [proxy_fcgi:error] [pid 1100] [client 192.168.1.29:37172] AH01079: failed to make connection to backend: httpd-UDS
Я нашел этот предыдущий пост
phpmyadmin «503 служба недоступна»: Unbuntu 20.04, MySQL 8.0
Разобрался. Если у кого-то еще есть эта проблема, мне пришлось добавить следующий блок в свой submdomain VirtualHost, phpmyadmin снова начал отображаться на subdomain:
<FilesMatch ".php$">
SetHandler "proxy:unix:/var/run/php/php7.4->fpm.username.sock|fcgi://localhost/"
</
FilesMatch>
Я посмотрел, и у меня нет /var/run/php/
каталога.
jking@secondbase:~$ php -v
PHP 8.1.2 (cli) (built: Jul 21 2022 12:10:37) (NTS)
Дополнительный симптом проблемы
Привет, я только что понял, что то, что я сказал, было единственным рабочим веб-сайтом, имеющим только файлы html, без файлов php. Я добавил файл info.php и получил ответ 503. Таким образом, ВСЕ обслуживаемые сайты не могут обрабатывать файлы php и отвечают сообщением об ошибке 503.
Проверьте наличие libapache2-mod-php
Я не делал ничего, кроме обновления до 22.04. Я предполагал, что он будет обновлен всем необходимым, поскольку это была существующая установка (пакет). Я ошибался, делая такое предположение? Все это работало до обновления. Я также запускал apt-get update несколько раз с тех пор.
Проверяем:
jking@secondbase:~$ dpkg -s libapache2-mod-php
Package: libapache2-mod-php
Status: install ok installed
Priority: optional
Section: php
Installed-Size: 18
Maintainer: Ubuntu Developers <[email protected]>
Architecture: all
Source: php-defaults (92ubuntu1)
Version: 2:8.1+92ubuntu1
Depends: libapache2-mod-php8.
Description: server-side, HTML-embedded scripting language (Apache 2 module) (default)
This package provides the PHP module for the Apache 2 webserver.
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.
This package is a dependency package, which depends on latest stable
PHP version (currently 8.1).
Original-Maintainer: Debian PHP Maintainers <[email protected]>
Несоответствие версий?
Итак, сообщение об ошибке относится к php 7.4, /run/php/php7.4-fpm.sock (*) failed
а dpkg относится к php 8.1 Version: 2:8.1+92ubuntu1
. Нужно ли что-то обновить? Или что-то нужно удалить/деинсталлировать?
Джон
Обновляйте пакеты
jking@secondbase:/var/log/apache2$ dpkg-query -l libapache2-mod-php8.1
||/ Name Version Architecture Description
+++-=====================-================-============-=======================>
ii libapache2-mod-php8.1 8.1.2-1ubuntu2.3 amd64 server-side, HTML-embed>
jking@secondbase:/var/log/apache2$ dpkg-query -l libapache2-mod-php
||/ Name Version Architecture Description
+++-==================-===============-============-===========================>
ii libapache2-mod-php 2:8.1+92ubuntu1 all server-side, HTML-embedded >
jking@secondbase:/var/log/apache2$ dpkg-query -l libapache2-mod-php7.4
||/ Name Version Architecture Description
+++-=====================-============-============-===========================>
un libapache2-mod-php7.4 <none> <none> (no description available)
jking@secondbase:/var/log/apache2$ dpkg-query -l libapache2-mod-php8.0
||/ Name Version Architecture Description
+++-=====================-============-============-===========================>
un libapache2-mod-php8.0 <none> <none> (no description available)
К сожалению, никакой видимой разницы. Все еще жалуется на PHP7.4 в файле error.log:
[Sun Aug 28 23:23:44.600963 2022] [proxy:error] [pid 6221] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.4-fpm.sock (*) failed
[Sun Aug 28 23:23:44.601007 2022] [proxy_fcgi:error] [pid 6221] [client 192.168.1.29:56866] AH01079: failed to make connection to backend: httpd-UDS
и у меня до сих пор нет /run/php
справочника.
Статус посылки
jking@secondbase:~$ sudo apt list --installed | grep php
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
libapache2-mod-php8.1/jammy-updates,now 8.1.2-1ubuntu2.3 amd64 [installed]
libapache2-mod-php/jammy,jammy,now 2:8.1+92ubuntu1 all [installed]
php-common/jammy,jammy,now 2:92ubuntu1 all [installed]
php8.1-cli/jammy-updates,now 8.1.2-1ubuntu2.3 amd64 [installed,automatic]
php8.1-common/jammy-updates,now 8.1.2-1ubuntu2.3 amd64 [installed,automatic]
php8.1-opcache/jammy-updates,now 8.1.2-1ubuntu2.3 amd64 [installed,automatic]
php8.1-readline/jammy-updates,now 8.1.2-1ubuntu2.3 amd64 [installed,automatic]
jking@secondbase:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
jking@secondbase:~$ sudo apt update
Hit:1 http://us.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Hit:3 https://dl.google.com/linux/chrome/deb stable InRelease
Get:4 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Fetched 324 kB in 1s (337 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
jking@secondbase:~$ sudo apt update --fix-missing
Hit:1 http://us.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 https://dl.google.com/linux/chrome/deb stable InRelease
Get:3 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:4 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Fetched 324 kB in 1s (319 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
jking@secondbase:~$ sudo apt install -f
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Не знаю, что делать дальше. Наверное, удалю apache и переустановлю.
Ценю усилия. Спасибо.
Джон
решение1
Попробуй это
sudo a2enmod php8.1
sudo systemctl restart apache2