Как поменять порт WEB-сервера Apache ports.conf

Apache (сейчас Apache 2) до сих пор является WEB-сервером по умолчанию и большинство хостингов ставит его единственным HTTP-сервером. Однако, с появлением NGiNX ситуация поменялась, и на 80-м порту предполагается наличие более шустрого NGiNX тогда, как более навороченный Apache ставится уже за ним с тем, чтобы обрабатывать сложные запросы по сборке динамических страниц «на лету». А вся статика (типа картинок, JavaScript и CSS-файлов) отдаётся быстро и сразу NGiNX'ом. Так как порт 80 для всех браузеров до сих пор остался портом для http-запросов, то на этом порту на сервере должен стоять NGiNX, а Apache, как правило, вешается на дополнительный для http порт 8080. В этой статье рассмотрим, как поменять настройки Apache на сервере так, чтобы он отвечал с порта 8080, освободив 80-й порт для NGiNX.



ports.conf — основной файл конфигурации портов WEB-сервера Apache

В предыдущей статье было подробно разобрано, как найти директорию на сервере с файлами конфигурации Apache на удалённом сервере. В этой же директории должен располагаться файл ports.conf, в котором прописаны порты, с которыми работает Apache.

Содержимое файла ports.conf по умолчанию

Файл ports.conf имеет следующее содержимое сразу после установки Apache на сервер:

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80

<IfModule ssl_module>
	Listen 443
</IfModule>

<IfModule mod_gnutls.c>
	Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Как видим, Апач действительно слушает 80-й порт при http-запросе, а при https-запросе — порт 443.

Меняем http-порт 80 Apache на 8080

Для того, чтобы Apache перестал занимать 80-й порт, а стал отвечать с 8080-порта,

  1. в файле ports.conf нужно
    • поменять строку Listen 80
    • на строку Listen 8080
  2. перезапустить Apache командой
    • apachectl -k restart

Проверяем смену http-порта Apache на 8080

Если раньше сайт отвечал на запрос в браузере:

http://mysite.ru/

то после описанных выше манипуляций, сайт по этому запросу становится недоступным. Для того, чтобы увидеть сайт, нужно обратиться к порту 8080 на сервере, указав это в явном виде в строке запроса браузера:

http://mysite.ru:8080/

Резюме

Таким образом можно освободить 80-й порт, перепрописав его для Apache на порт 8080.

Если на сервере несколько сайтов, то для каждого виртуального хоста в папке /etc/apache2/sites-available нужно прописать порт 8080 вместо 80:

<VirtualHost 127.0.0.1:8080>

И, конечно, перезагрузить Апач.

Если NGiNX ещё не установлен, остановим Apache командой 

P.S.

Перед перезагрузкой Апача полезно проверять на косячность правок его конфигов командой apachectl stop. Включим после того, как установим NGiNX.

[email protected]:~# apachectl -t
Syntax OK

Так должна выглядеть проверка синтаксиса конфигурации Apache.

После этого можно перезагрузить NGiNX и убедиться в правильности работы обоих серверов на портах 80 и 8080 (читать по → этой ссылке).

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

Войдите чтобы комментировать

Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'