Տեղադրեք 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>