E hoʻouka iā Apache ma CentOS7

Kuhikuhina kūhelu

Pūnaewele kūhelu Palapala Huahana HTTPS Gzip

Hana i ka hoʻonoho

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

Hoʻololi i ka faila hoʻonohonoho

Ma hope o ka pau ʻana o ke kau ʻana, pono mākou e hoʻololi i ka faila hoʻonohonoho. ʻO ka ʻikepili hoʻololi maʻamau e hoʻopili pinepine ʻia: IP i hoʻopaʻa ʻia a me ke awa, hoʻoili kaomi gzip, ka helu o nā pilina like, a me SSL. E wehewehe hoʻokahi iā lākou ma lalo nei.

Hoʻololi i ka IP paʻa a me ke awa

ʻO ka IP paʻamau a me ke awa a Apache e hoʻolohe ai ʻo ia ka 0.0.0.0:80. Inā pono mākou e hoʻololi i ka IP i nānā ʻia a me ke awa, hiki iā mākou ke hoʻololi pololei. Inā pono mākou e nakinaki i nā awa he nui, hiki iā mākou ke hoʻohui iā lākou. I ka laʻana aʻe, nakinaki mākou i nā awa 80 a me 443. ʻO Port 443 ka helu awa paʻamau no HTTPS.

            Listen 80
Listen 443 https
        

E wehe i ka hoʻoili gzip

Ma muli o ke kiʻekiʻe o kā mākou kamepiula CPU hana, maʻamau e ʻike ʻia ka ʻōmole i ka bandwidth network, no laila hiki iā mākou ke koho e hoʻohuli i ka lawe ʻana o ka compression gzip. Aia nā pae 9. o ke kaomi. Hiki iā mākou ke koho e like me ka hana a kā mākou kikowaena a ʻike i ka pae kūpono loa. I ka laʻana ma lalo, hoʻonohonoho mākou iā ia i ka pae 1. ʻO nā ʻano o nā faile i hoʻopaʻa ʻia: html, xml, php, css, js, hiki iā mākou ke pākuʻi i nā ʻano o nā faila i makemake ʻia.

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

E hoʻonohonoho iā KeepAlive

ʻO ka hana a KeepAlive ka mālama ʻana i ka mea kūʻai aku a me ka mea lawelawe i pili no kekahi manawa. Ke wehe mākou i kahi pūnaewele, pono mākou e hoʻouka i ka ʻike nui, js, css, a me nā kiʻi. No ka mea e pono i kēlā me kēia kumuwaiwai e hoʻomaka i kahi noi HTTP ʻokoʻa, hiki iā mākou ke mālama iā KeepAlive e hoʻemi i ka manawa i makemake ʻia no kēlā me kēia noi e hoʻokumu i kahi loulou TCP / IP. Akā he mau drawbacks kā KeepAlive. E hoʻokau ʻia ia nā kumu waiwai IO o ke kikowaena, no laila pono mākou e koho inā hiki iā KeepAlive e like me ke kūlana maoli. Inā hiki iā KeepAlive, pono mākou e hoʻonohonoho i kahi manawa kūpono kūpono e hōʻalo ai i ka lawelawe ʻo IO i kahi manawa lōʻihi. Aia i kēia laʻana kekahi mau hoʻonohonoho nui o KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Hoʻonohonoho i ka helu o ka concurrent

Hiki i kahi hoʻonohonoho kūpono o ka helu o ka concurrent ke hoʻomaikaʻi maikaʻi i ka throughput o ke kikowaena. Hana maʻamau kā mākou Apache i ka ʻano mpm_prefork. Pono mākou e hoʻonohonoho pono i nā ʻōkuhi kī. ʻO ka mea e pono ai mākou e nānā i ka nui o nā pilina ʻaʻole pono e liʻiliʻi, ʻo ka liʻiliʻi loa e hōʻole ʻia ka nui o nā noi o nā mea hoʻohana ke kiʻekiʻe ka concurrency. ʻO ke kumukūʻai kūpono a mākou i hoʻonohonoho ai e kuhikuhi i ka CPU a me ka hoʻomanaʻo o ka kikowaena. Inā lawa ka waiwai, pono mākou e hoʻonohonoho i ka nui e like me ka hiki, akā inā mākou e hoʻonohonoho i ka nui loa, e pau ana nā kumuwaiwai kikowaena a e hāwele pū ʻo Apache.

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

Hoʻonohonoho SSL

Loaʻa ka hapa nui o nā pūnaewele i kēia manawa iā SSL e kākoʻo i nā pili paʻa HTTPS. ʻO ka pōmaikaʻi o HTTPS ʻo ka ʻike i ka wā o ka lawe ʻana i hoʻopunipuni ʻia, no laila ʻaʻohe pono e hopohopo e pili ana i ka liu ʻana o ka ʻike ma muli o ka hoʻopili ʻia ʻana e kekahi. Ma mua o ka hiki ʻana iā SSL, pono mākou e noi mua no kahi palapala. Ma hope o ka loaʻa ʻana o ka palapala, e nānā i kēia hoʻonohonoho ʻana e hoʻopau i nā hoʻonohonoho 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>