Установите Apache на CentOS7
Официальная ссылка
Официальный веб-сайт Документация по продукту HTTPS GzipВыполните установку
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Измените файл конфигурации
После завершения установки нам необходимо внести некоторые изменения в файл конфигурации. Конкретный контент модификации обычно включает: привязанный IP-адрес и порт, передачу сжатия gzip, количество одновременных подключений и SSL. Давайте объясним их один за другим ниже.
Измените привязанный IP-адрес и порт
IP-адрес и порт по умолчанию, которые прослушивает Apache, - 0.0.0.0:80. Если нам нужно изменить отслеживаемый IP-адрес и порт, мы можем изменить его напрямую. Если нам нужно связать несколько портов, мы также можем добавить их. В следующем примере мы связываем порты 80 и 443. Порт 443 - это номер порта по умолчанию для HTTPS.
Listen 80
Listen 443 https
Открытая передача gzip
Поскольку производительность ЦП нашего компьютера относительно высока, узкое место обычно проявляется в пропускной способности сети, поэтому мы можем включить передачу сжатия gzip. Всего существует 9 уровней сжатия, мы можем выбрать в зависимости от производительности нашего сервера и найти наиболее подходящий уровень. В приведенном ниже примере мы установили уровень 1. Типы сжатых файлов: html, xml, php, css, js, мы также можем добавлять сжатые типы файлов по мере необходимости.
<IfModule mod_deflate.c>
DeflateCompressionLevel 1
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
AddOutputFilter DEFLATE js css
</IfModule>
Настроить KeepAlive
Функция KeepAlive состоит в том, чтобы поддерживать соединение клиента и сервера в течение определенного периода времени. Когда мы открываем веб-страницу, нам обычно необходимо загрузить основной контент, js, css и изображения. Поскольку каждый ресурс должен инициировать отдельный HTTP-запрос, мы включаем KeepAlive, чтобы сократить время, необходимое для каждого запроса, чтобы установить ссылку TCP / IP. Но у KeepAlive есть и недостатки. Это приведет к тому, что ресурсы ввода-вывода сервера будут заняты, поэтому нам нужно выбрать, включать ли KeepAlive, в зависимости от реальной ситуации. Если KeepAlive включен, нам также необходимо установить разумный тайм-аут, чтобы сервер IO не был занят в течение длительного времени. Следующий пример содержит несколько основных настроек KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Настроить количество одновременных
Разумная конфигурация количества одновременных пользователей может значительно улучшить пропускную способность сервера. Обычно наш Apache работает в режиме mpm_prefork. Нам нужно разумно настроить несколько ключевых параметров. На что нам нужно обратить внимание, так это то, что максимальное количество подключений не должно быть слишком маленьким, слишком маленькое приведет к отклонению большого количества пользовательских запросов при высоком уровне параллелизма. Разумное значение, которое мы устанавливаем, должно относиться к процессору и памяти сервера. Пока ресурсов достаточно, мы должны установить его как можно больше, но если мы установим его слишком большим, ресурсы сервера будут исчерпаны, и Apache также выйдет из строя.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
Настроить SSL
На большинстве веб-сайтов теперь включен SSL для поддержки безопасных соединений HTTPS. Преимущество HTTPS в том, что контент во время передачи зашифрован, поэтому нет необходимости беспокоиться об утечке информации из-за перехвата другими. Перед включением SSL мы должны сначала подать заявку на сертификат.После того, как мы получим сертификат, обратитесь к следующей конфигурации, чтобы завершить настройки SSL.
<VirtualHost *:443>
ServerAdmin www.test.com
ServerName www.testl.com
DocumentRoot /var/www/test
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile /etc/httpd/conf/cert/public.crt
SSLCertificateKeyFile /etc/httpd/conf/cert/1533528967430.key
SSLCertificateChainFile /etc/httpd/conf/cert/chain.crt
AllowEncodedSlashes on
<Directory "/var/www/test.com">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>