Instal Apache di CentOS7

Referensi resmi

Situs resmi Dokumentasi Produk HTTPS Gzip

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