Несколько сайтов на Apache2

Я выполняю инструкции из этого 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.

0
задан 21 February 2021 в 09:08

1 ответ

Моя ошибка. У меня были дополнительные тег по ошибке в моем 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 папку до этого.

0
ответ дан 18 March 2021 в 23:32

Другие вопросы по тегам:

Похожие вопросы: