Apache'yi CentOS7'ye yükleyin

Resmi referans

Resmi internet sitesi Ürün Dokümantasyonu HTTPS Gzip

Kurulum gerçekleştirin

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

Yapılandırma dosyasını değiştirin

Kurulum tamamlandıktan sonra, konfigürasyon dosyasında bazı değişiklikler yapmamız gerekiyor. Spesifik değişiklik içeriği genellikle şunları içerir: bağlı IP ve bağlantı noktası, gzip sıkıştırma iletimi, eşzamanlı bağlantı sayısı ve SSL. Bunları aşağıda tek tek açıklayalım.

Bağlı IP ve bağlantı noktasını değiştirin

Apache'nin dinlediği varsayılan IP ve bağlantı noktası 0.0.0.0:80'dir. Dinleme IP'sini ve bağlantı noktasını değiştirmemiz gerekirse, doğrudan değiştirebiliriz. Birden çok bağlantı noktasını bağlamamız gerekirse, bunları da ekleyebiliriz. Aşağıdaki örnekte, 80 ve 443 numaralı bağlantı noktalarını bağladık. 443 numaralı bağlantı noktası, HTTPS için varsayılan bağlantı noktası numarasıdır.

            Listen 80
Listen 443 https
        

Gzip iletimini açın

Bilgisayarımızın CPU performansı nispeten yüksek olduğundan, genellikle ağ bant genişliğinde darboğaz görünecektir, bu nedenle gzip sıkıştırma aktarımını açmayı seçebiliriz. 9 sıkıştırma seviyesi vardır.Sunucumuzun performansına göre seçip en uygun seviyeyi bulabiliriz. Aşağıdaki örnekte bunu 1. seviyeye ayarladık. Sıkıştırılmış dosya türleri şunlardır: html, xml, php, css, js, gerektiğinde sıkıştırılmış dosya türleri de ekleyebiliriz.

            <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'ı kurun

KeepAlive'in işlevi, istemciyi ve sunucuyu bir süre bağlı tutmaktır. Bir web sayfasını açtığımızda, genellikle ana içeriği, js, css ve resimleri yüklememiz gerekir.Her kaynağın ayrı bir HTTP isteği başlatması gerektiğinden, KeepAlive'in her istek için bir TCP / IP bağlantısı kurmak için gereken süreyi azaltmasını sağlıyoruz. Ancak KeepAlive'in dezavantajları da vardır.Sunucunun IO kaynaklarının işgal edilmesine neden olur, bu nedenle mevcut duruma göre KeepAlive'ı etkinleştirip etkinleştirmemeyi seçmemiz gerekir. KeepAlive etkinleştirilirse, sunucu GÇ'sinin uzun süre meşgul olmasını önlemek için makul bir zaman aşımı ayarlamamız gerekir. Aşağıdaki örnek, KeepAlive'in birkaç ana ayarını içerir.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Eşzamanlı sayısını yapılandırın

Eşzamanlı sayıların makul bir şekilde yapılandırılması, sunucunun verimini büyük ölçüde artırabilir. Apache'miz genellikle mpm_prefork modunda çalışır. Birkaç anahtar parametreyi makul şekilde yapılandırmamız gerekiyor. Dikkat etmemiz gereken şey, maksimum bağlantı sayısının çok küçük olmaması, çok küçük olması eşzamanlılık yüksek olduğunda çok sayıda kullanıcı isteğinin reddedilmesine neden olacağıdır. Belirlediğimiz makul değer, sunucunun CPU'suna ve belleğine başvurmalıdır.Kaynaklar yeterli olduğu sürece, mümkün olduğu kadar büyük ayarlamalıyız, ancak çok büyük ayarlarsak, sunucu kaynakları tükenecek ve Apache de çökecektir.

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

SSL'yi yapılandırın

Artık çoğu web sitesinde HTTPS güvenli bağlantılarını desteklemek için SSL etkin. HTTPS'nin avantajı, aktarım sırasında içeriğin şifrelenmiş olmasıdır, bu nedenle başkalarının müdahalesi nedeniyle bilgi sızıntısı konusunda endişelenmenize gerek yoktur. SSL'yi etkinleştirmeden önce, öncelikle bir sertifika başvurusunda bulunmalıyız.Sertifika aldıktan sonra, SSL ayarlarını tamamlamak için aşağıdaki yapılandırmaya bakın.

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