Я выполняю инструкции из этого URL-адреса по запуску нескольких сайтов на Apache2
https://www.liquidweb.com/kb/configure-apache-virtual-hosts-ubuntu-18-04/
Инструкции предназначены для 2 сайтов, но мне нужно запустить 3 сайтов. Я выполнил все действия и создал три разные папки для каждого сайта в своей папке www и три разных файла domain.com.conf
в папке , доступной для сайтов
. Если я разрешаю все три домена с помощью a2ensite
, то моя служба apache2 дает ошибку при перезапуске, но если я разрешаю только 2 сайты, то моя служба apache работает ОК и я могу посетить мои сайты в браузере. Даже если включены два сайта, я по-прежнему могу посещать все три сайта в браузере, но я вижу только два файла conf в папке с включенными сайтами
. Как только я включу все три сайта, я получу три файла conf в папке с включенными сайтами
, но служба apache не будет перезапущена. Ошибка, которую я получаю при перезапуске службы apache2, выглядит следующим образом.
sudo systemctl status apache2
● apache2.service - HTTP-сервер Apache Загружено: загружено (/lib/systemd/system/apache2.service; включено; стиль поставщика: включен) Активно: сбой (Результат: exit-code) с Sun 2021-02-21 04:10:28 UTC; 8 с назад Документы: https://httpd.apache.org/docs/2.4/ Процесс: 23325 ExecStart =/usr/sbin/apachectl start (code = exited, status = 1/FAILURE)
status says
sudo systemctl status apache2
● apache2.service - HTTP-сервер Apache Загружено: загружено (/lib/systemd/system/apache2.service; включено; стиль поставщика: включен) Активно: сбой (Результат: exit-code) с Sun 2021-02-21 04:10:28 UTC; 1 мин. 31 год назад Документы: https://httpd.apache.org/docs/2.4/ Процесс: 23325 ExecStart =/usr/sbin/apachectl start (код = выход, состояние = 1/FAILURE)
systemd [1]: Запуск HTTP-сервера Apache... apachectl [23336]: apache2: Синтаксическая ошибка в строке 225 документа/etc/apache2/apache2.conf: Синтаксис e > apachectl [23325]: Не удалось выполнить действие «start». apachectl [23325]: В журнале ошибок Apache может содержаться дополнительная информация. systemd [1]: apache2.service: Процесс управления завершен, код = завершен, состояние = 1/FAILURE systemd [1]: apache2.service: сбой с результатом exit-code. systemd [1]: не удалось запустить HTTP-сервер Apache.
несмотря на то, что все мои три сайта работают с 2 включенными сайтами, но я все еще хочу включить все три сайта и перезапустить службу apache2.
Я запускаю apache2 на сервере ubuntu 20.04 LTS
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
Мой файл domain1.com.conf выглядит следующим образом
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/site1
ServerName domain1.com
ServerAlias www.domain1.com
</VirtualHost>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Другие три файла конфигурации одинаковы, кроме site2, site3 и domain2, domain3.
Еще одна вещь, которую я обнаружил - ошибка перезапуска службы apache2 возникает только при выполнении команды e2ensite
только в домене 1 (site1). Если у меня включены только site2 и sit3, то я не получаю ошибку службы apache2. Это говорит мне, что что-то не так только с сайтом 1.
Моя ошибка. У меня были дополнительные тег
Virtualhost>
по ошибке в моем domain1.com.Conf
файл. Вы должны иметь его дважды, как открытый и закрытый тег, но в моем файле у меня снова был этот тег в середине, и я не обратил на него внимания, может быть, это стало слишком поздно, работая над этим прошлой ночью. Исправьте файл и все три сайта работают нормально. Служба Apache2 также перезапускается без ошибок. Ваш оригинал 000 - COND-CONF
должен выглядеть так
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/site1
ServerName domain1.com
ServerAlias www.domain1.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run A2ensite <доменное имя>
на всех ваших сайтах. Перезагрузите службу Apache2 с помощью Sudo SystemCTL Перезагрузите Apache2
. Проверьте Папка включена на сайт
, и она должна показать указатели файлов CONF. Убедитесь, что вы получили несколько сайтов, размещенных в соответствующих папках в / var / www
папку до этого.