ApOS-ийг CentOS7 дээр суулгаарай

Албан ёсны лавлагаа

Албан ёсны цахим хуудас Бүтээгдэхүүний баримт бичиг HTTPS Gzip

Суулгалтыг гүйцэтгэнэ

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

Тохиргооны файлыг өөрчлөх

Суулгалт дууссаны дараа бид тохиргооны файлд зарим өөрчлөлт оруулах хэрэгтэй. Тусгай өөрчлөлтийн агуулгад ихэвчлэн: IP ба порт, gzip шахалтын дамжуулалт, зэрэгцээ холболтын тоо, SSL багтдаг. Тэднийг доор нэг нэгээр нь тайлбарлая.

Холбогдсон IP болон портыг өөрчлөх

Apache-ийн сонсдог анхдагч IP ба порт нь 0.0.0.0:80 юм. Хэрэв бид хяналтанд байгаа IP болон портыг өөрчлөх шаардлагатай бол бид үүнийг шууд өөрчилж болно. Хэрэв бид олон портыг холбох шаардлагатай бол тэдгээрийг нэмж болно. Дараах жишээнд бид 80 ба 443 портуудыг холбодог. Порт 443 бол HTTPS-ийн анхдагч порт дугаар юм.

            Listen 80
Listen 443 https
        

Нээлттэй gzip дамжуулалт

Манай компьютерийн CPU-ийн гүйцэтгэл харьцангуй өндөр тул гацалт сүлжээний зурвасын өргөн дээр гарч ирдэг тул 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 хүсэлтийг эхлүүлэх шаардлагатай тул бид TCP / IP холболт үүсгэх хүсэлт бүрт шаардагдах хугацааг багасгах боломжийг KeepAlive-д идэвхжүүлдэг. Гэхдээ KeepAlive нь бас сул талуудтай бөгөөд энэ нь серверийн IO нөөцийг эзэмшихэд хүргэнэ, тиймээс бид бодит нөхцөл байдлын дагуу KeepAlive-г идэвхжүүлэх эсэхээ сонгох хэрэгтэй. Хэрэв KeepAlive-ийг идэвхжүүлсэн бол IO серверийг удаан хугацаагаар ажиллуулахаас зайлсхийхийн тулд боломжит хугацаа дуусгах хэрэгтэй. Дараах жишээ нь KeepAlive-ийн хэд хэдэн үндсэн тохиргоог агуулдаг.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Үүний зэрэгцээ тоог тохируулна уу

Зэрэгцээ тооны тохирох тохиргоо нь серверийн нэвтрүүлэх чадварыг ихээхэн сайжруулдаг. Ихэнхдээ манай Apache нь mpm_prefork горимд ажилладаг. Бид хэд хэдэн гол параметрүүдийг боломжийн тохируулах хэрэгтэй. Бидний анхаарах ёстой зүйл бол хамгийн их холболтын тоо хэт бага байх ёсгүй, хэт бага байх нь олон тооны хэрэглэгчийн хүсэлтийг зэрэгцүүлэлт өндөр байхад татгалзахад хүргэх болно. Бидний тавьсан боломжийн утга нь серверийн CPU ба санах ойтой холбоотой байх ёстой.Нөөц хангалттай байгаа тохиолдолд бид үүнийг аль болох их хэмжээгээр тохируулах ёстой, гэхдээ хэт том болговол серверийн нөөц дуусч, 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>