Apache'yi CentOS7'ye yükleyin
Resmi referans
Resmi internet sitesi Ürün Dokümantasyonu HTTPS GzipKurulum 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>