Инсталирайте 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 има и недостатъци.Това ще доведе до заемане на IO ресурсите на сървъра, така че трябва да изберем дали да активираме 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>