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