Pasang Apache di CentOS7
Rujukan rasmi
Laman web rasmi Dokumentasi Produk HTTPS GzipLakukan pemasangan
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Ubah suai fail konfigurasi
Setelah pemasangan selesai, kita perlu membuat beberapa pengubahsuaian pada fail konfigurasi. Kandungan pengubahsuaian khusus biasanya meliputi: IP terikat dan port, transmisi mampatan gzip, bilangan sambungan serentak, dan SSL. Mari kita jelaskan satu persatu di bawah.
Ubah suai IP dan port terikat
IP dan port lalai yang didengarkan oleh Apache ialah 0.0.0.0:80. Sekiranya kita perlu mengubah IP dan port yang dipantau, kita dapat mengubahnya secara langsung. Sekiranya kita perlu mengikat beberapa port, kita juga boleh menambahkannya. Dalam contoh berikut, kita mengikat port 80 dan 443. Port 443 adalah nombor port lalai untuk HTTPS.
Listen 80
Listen 443 https
Buka penghantaran gzip
Kerana prestasi CPU komputer kita agak tinggi, biasanya kemacetan akan muncul dalam lebar jalur rangkaian, jadi kita dapat memilih untuk mengaktifkan transmisi mampatan gzip. Terdapat 9 tahap pemampatan. Kami boleh memilih mengikut prestasi pelayan kami dan mencari tahap yang paling sesuai. Dalam contoh di bawah, kami menetapkannya ke tahap 1. Jenis fail yang dimampatkan adalah: html, xml, php, css, js, kita juga dapat menambahkan jenis fail yang dimampatkan jika diperlukan.
<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>
Sediakan KeepAlive
Fungsi KeepAlive adalah memastikan klien dan pelayan tetap terhubung untuk jangka masa tertentu. Semasa kita membuka laman web, kita biasanya perlu memuatkan isi utama, js, css, dan gambar. Oleh kerana setiap sumber perlu memulakan permintaan HTTP yang terpisah, kami memungkinkan KeepAlive untuk mengurangkan waktu yang diperlukan untuk setiap permintaan untuk membuat pautan TCP / IP. Tetapi KeepAlive juga mempunyai kekurangan. Ini akan menyebabkan sumber IO pelayan dihuni, jadi kami perlu memilih sama ada untuk mengaktifkan KeepAlive mengikut keadaan sebenar. Sekiranya KeepAlive diaktifkan, kita juga perlu menetapkan batas waktu yang munasabah untuk mengelakkan pelayan IO dihuni lama. Contoh berikut mengandungi beberapa tetapan utama KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Konfigurasikan bilangan serentak
Konfigurasi bilangan serentak yang munasabah dapat meningkatkan throughput pelayan. Biasanya Apache kami berfungsi dalam mod mpm_prefork. Kita perlu mengkonfigurasi beberapa parameter utama secara wajar. Yang perlu kita perhatikan adalah bahawa jumlah sambungan maksimum tidak boleh terlalu kecil, terlalu kecil akan menyebabkan sebilangan besar permintaan pengguna ditolak ketika konkurensi tinggi. Nilai wajar yang kita tetapkan harus merujuk pada CPU dan memori pelayan. Selagi sumbernya mencukupi, kita harus menetapkannya seluas mungkin, tetapi jika kita menetapkannya terlalu besar, sumber pelayan akan habis dan Apache juga akan rosak.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
Konfigurasikan SSL
Sebilangan besar laman web kini mempunyai SSL untuk menyokong sambungan selamat HTTPS. Kelebihan HTTPS adalah bahawa kandungan semasa penghantaran dienkripsi, jadi tidak perlu bimbang tentang kebocoran maklumat kerana pemintasan oleh orang lain. Sebelum mengaktifkan SSL, kita mesti memohon sijil terlebih dahulu. Setelah mendapatkan sijil, rujuk konfigurasi berikut untuk menyelesaikan tetapan 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>