Txhim kho Apache ntawm CentOS7

Raug raws ntaub ntawv

Raug raws li lub vev xaib Cov Ntaub Ntawv Khoom Lag Luam HTTPS Gzip

Ua kev teeb tsa

            yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
        

Hloov kho cov ntaub ntawv teeb tsa

Tom qab kev teeb tsa tiav lawm, peb yuav tsum tau ua qee qhov kev hloov kho rau cov ntawv teeb tsa. Cov ncauj lus hloov kho cov ntsiab lus feem ntau suav nrog: ua txhua qhov IP thiab chaw nres nkoj, gzip compression kis, tus naj npawb ntawm cov khoom sib txuas, thiab SSL. Cia peb piav qhia lawv ib qho los ntawm ib qho hauv qab no.

Hloov kho cov khi IP thiab chaw nres nkoj

Lub neej ntawd IP thiab chaw nres nkoj uas Apache mloog yog 0.0.0.0:80. Yog tias peb xav hloov kho tus IP saib xyuas thiab chaw nres nkoj, peb tuaj yeem hloov kho nws ncaj qha. Yog tias peb xav tau khi ntau qhov chaw nres nkoj, peb kuj ntxiv tau lawv. Hauv qhov ua piv txwv nram qab no, peb khi cov pob 80 thiab 443. Chaw nres nkoj 443 yog lub chaw nres nkoj vim li cas rau HTTPS.

            Listen 80
Listen 443 https
        

Qhib gzip xa xov

Vim tias peb lub koos pij tawj lub CPU ua haujlwm tau siab, feem ntau cov kab hauv qab yuav tshwm sim hauv lub network bandwidth, yog li peb tuaj yeem xaiv tig rau gzip compression kis. Muaj qib 9 ntawm qhov kev ntsaws. Peb tuaj yeem xaiv raws li kev ua haujlwm ntawm peb cov neeg rau zaub mov thiab pom cov qib tsim nyog tshaj plaws. Hauv qhov piv txwv hauv qab no, peb teeb nws mus rau theem 1. Cov ntaub ntawv compressed yog: html, xml, php, css, js, peb tseem tuaj yeem ntxiv qhov compressed file type raws li xav tau.

            <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>
        

Teeb Tseg KeepAlive

Kev ua haujlwm ntawm KeepAlive yog khaws tus neeg siv thiab tus neeg rau zaub mov kev sib txuas rau lub sijhawm. Thaum peb qhib lub vev xaib, peb feem ntau yuav tsum thauj lub ntsiab lus tseem ceeb, js, css, thiab cov duab. Vim tias txhua qhov peev txheej xav tau pib thov HTTP sib txawv, peb pab kom KeepAlive txo lub sijhawm uas xav tau rau txhua qhov kev thov los tsim TCP / IP txuas. Tab sis KeepAlive tseem muaj qhov tsis zoo. Nws yuav ua rau server tus IO cov khoom siv yuav tsum nyob, yog li peb yuav tsum xaiv seb puas yuav pab tau KeepAlive raws li qhov xwm txheej tiag tiag. Yog hais tias KeepAlive tau qhib lawm, peb kuj yuav tsum tau tsim lub sijhawm tsim nyog rau nws kom tsis txhob muaj server IO nyob rau hauv lub sijhawm ntev. Cov piv txwv hauv qab no muaj ntau lub ntsiab chaw ntawm KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Kho lub xov tooj ntawm cov neeg concurrent

Ib qho kev tsim kho tsim nyog ntawm tus naj npawb ntawm cov neeg nyob ib leeg tuaj yeem txhim kho ntau dhau ntawm qhov sib dhos ntawm cov neeg rau zaub mov. Feem ntau peb Apache ua haujlwm nyob rau mpm_prefork hom. Peb yuav tsum tsim kom muaj ntau qhov kev ntsuas uas tsim nyog. Qhov peb yuav tsum tau them sai sai rau qhov muaj pes tsawg tus sib txuas yuav tsum tsis txhob dhau, tsawg dhau me me yuav ua rau muaj coob tus neeg siv cov lus thov tsis lees txais thaum lub sijhawm sib koom siab. Tus nqi tsim nyog peb tau teev yuav tsum yog xa mus rau lub server's CPU thiab nco. Yog tias qhov peev txheej txaus, peb yuav tsum muab nws tso kom loj npaum li sai tau, tab sis yog tias peb tso loj dhau, cov khoom siv hauv server yuav tsum sab tag thiab Apache tseem yuav poob.

            <IfModule mpm_prefork_module>
    StartServers         10
    MinSpareServers      25
    MaxSpareServers      50
    ServerLimit          1500
    MaxClients           1000
    MaxRequestsPerChild  3000
</IfModule>
        

Kho SSL

Feem ntau lub vev xaib tam sim no muaj SSL qhib kom txhawb HTTPS kev sib txuas ruaj ntseg. Qhov zoo ntawm HTTPS yog tias cov ntsiab lus thaum lub sijhawm kis tau yog encrypted, yog li tsis tas yuav txhawj xeeb txog cov ntaub ntawv paim quav vim kev cuam tshuam los ntawm lwm tus. Ua ntej ua kom siv SSL, peb yuav tsum xub thov daim ntawv pov thawj. Tom qab peb tau txais daim ntawv pov thawj, xa mus rau cov kev teeb tsa hauv qab no kom tiav SSL chaw.

            <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>