Как поменять порт 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.

root@server:~# apachectl -t
Syntax OK

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

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

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню