Instal Apache di CentOS7
Referensi resmi
Situs resmi Dokumentasi Produk HTTPS GzipLakukan instalasi
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Ubah file konfigurasi
Setelah proses instalasi selesai, kita perlu melakukan beberapa modifikasi pada file konfigurasi. Konten modifikasi tertentu biasanya mencakup: IP dan port terikat, transmisi kompresi gzip, jumlah koneksi bersamaan, dan SSL. Mari kita jelaskan satu per satu di bawah ini.
Ubah IP dan port terikat
IP default dan port yang didengarkan Apache adalah 0.0.0.0:80. Jika kita perlu memodifikasi IP dan port yang dipantau, kita dapat memodifikasinya secara langsung. Jika kita perlu mengikat banyak port, kita juga bisa menambahkannya. Dalam contoh berikut, kami mengikat port 80 dan 443. Port 443 adalah nomor port default untuk HTTPS.
Listen 80
Listen 443 https
Buka transmisi gzip
Karena performa CPU komputer kita relatif tinggi, biasanya akan muncul bottleneck pada bandwidth jaringan, sehingga kita bisa memilih untuk mengaktifkan transmisi kompresi gzip. Ada 9 level kompresi, kita dapat memilih sesuai dengan kinerja server kita dan mencari level yang paling sesuai. Pada contoh di bawah ini, kami menetapkannya ke level 1. Jenis file terkompresi tersebut adalah: html, xml, php, css, js, kita juga dapat menambahkan jenis file terkompresi sesuai kebutuhan.
<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>
Siapkan KeepAlive
Fungsi KeepAlive adalah untuk menjaga agar klien dan server tetap terhubung untuk jangka waktu tertentu. Saat kita membuka halaman web, biasanya kita perlu memuat konten utama, js, css, dan gambar. Karena setiap sumber daya perlu memulai permintaan HTTP terpisah, kami mengaktifkan KeepAlive untuk mengurangi waktu yang diperlukan untuk setiap permintaan untuk membuat tautan TCP / IP. Namun KeepAlive juga memiliki kekurangan, yaitu akan menyebabkan resource IO server terisi, jadi kita perlu memilih apakah akan mengaktifkan KeepAlive sesuai dengan situasi sebenarnya. Jika KeepAlive diaktifkan, kami juga perlu menyetel waktu tunggu yang wajar untuk menghindari server IO ditempati dalam waktu yang lama. Contoh berikut berisi beberapa pengaturan utama KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Konfigurasi jumlah konkuren
Konfigurasi jumlah konkuren yang wajar dapat sangat meningkatkan throughput server. Biasanya Apache kami bekerja dalam mode mpm_prefork. Kita perlu mengkonfigurasi beberapa parameter kunci secara wajar. Yang perlu kita perhatikan adalah jumlah maksimum koneksi tidak boleh terlalu kecil, terlalu kecil akan menyebabkan sejumlah besar permintaan pengguna ditolak ketika konkurensi tinggi. Nilai wajar yang kita tetapkan harus mengacu pada CPU dan memori server Selama sumber daya mencukupi, kita harus mengaturnya sebesar mungkin, tetapi jika kita menyetelnya terlalu besar, sumber daya server akan habis dan Apache juga akan mogok.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
Konfigurasikan SSL
Sebagian besar situs web sekarang telah mengaktifkan SSL untuk mendukung koneksi aman HTTPS. Keuntungan HTTPS adalah konten selama transmisi dienkripsi, jadi tidak perlu khawatir tentang kebocoran informasi karena intersepsi oleh orang lain. Sebelum mengaktifkan SSL, pertama-tama kita harus mengajukan permohonan sertifikat. Setelah mendapatkan sertifikat, lihat konfigurasi berikut untuk menyelesaikan pengaturan 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>