Εγκαταστήστε το Apache στο CentOS7
Επίσημη αναφορά
Επίσημη ιστοσελίδα Τεκμηρίωση προϊόντος HTTPS GzipΕκτελέστε την εγκατάσταση
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Τροποποιήστε το αρχείο διαμόρφωσης
Αφού ολοκληρωθεί η εγκατάσταση, πρέπει να πραγματοποιήσουμε ορισμένες τροποποιήσεις στο αρχείο διαμόρφωσης. Το συγκεκριμένο περιεχόμενο τροποποίησης συνήθως περιλαμβάνει: δεσμευμένη IP και θύρα, μετάδοση συμπίεσης gzip, αριθμό ταυτόχρονων συνδέσεων και SSL. Ας τους εξηγήσουμε ένα προς ένα παρακάτω.
Τροποποιήστε το δεσμευμένο IP και τη θύρα
Η προεπιλεγμένη IP και θύρα που ακούει το Apache είναι 0,0.0.0:80 Εάν πρέπει να τροποποιήσουμε την παρακολουθούμενη IP και τη θύρα, μπορούμε να τις τροποποιήσουμε απευθείας. Εάν πρέπει να δεσμεύσουμε πολλές θύρες, μπορούμε επίσης να τις προσθέσουμε. Στο ακόλουθο παράδειγμα, δεσμεύουμε τις θύρες 80 και 443. Η θύρα 443 είναι ο προεπιλεγμένος αριθμός θύρας για HTTPS.
Listen 80
Listen 443 https
Ανοίξτε τη μετάδοση gzip
Επειδή η απόδοση της CPU του υπολογιστή μας είναι σχετικά υψηλή, συνήθως το σημείο συμφόρησης θα εμφανίζεται στο εύρος ζώνης δικτύου, έτσι μπορούμε να επιλέξουμε να ενεργοποιήσουμε τη μετάδοση συμπίεσης gzip. Υπάρχουν 9 επίπεδα συμπίεσης. Μπορούμε να επιλέξουμε ανάλογα με την απόδοση του διακομιστή μας και να βρούμε το πιο κατάλληλο επίπεδο. Στο παρακάτω παράδειγμα, το ορίζουμε στο επίπεδο 1. Οι τύποι συμπιεσμένων αρχείων είναι: html, xml, php, css, js, μπορούμε επίσης να προσθέσουμε συμπιεσμένους τύπους αρχείων όπως απαιτείται.
<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
Η λειτουργία του KeepAlive είναι να διατηρεί συνδεδεμένο τον πελάτη και τον διακομιστή για ένα χρονικό διάστημα. Όταν ανοίγουμε μια ιστοσελίδα, συνήθως πρέπει να φορτώσουμε το κύριο περιεχόμενο, js, css και εικόνες. Εφόσον κάθε πόρος πρέπει να ξεκινήσει ένα ξεχωριστό αίτημα HTTP, ενεργοποιούμε το KeepAlive για να μειώσει το χρόνο που απαιτείται για κάθε αίτημα για τη δημιουργία συνδέσμου TCP / IP. Αλλά το KeepAlive έχει επίσης μειονεκτήματα. Θα προκαλέσει την κατάληψη των πόρων IO του διακομιστή, οπότε πρέπει να επιλέξουμε εάν θα ενεργοποιήσουμε το KeepAlive σύμφωνα με την πραγματική κατάσταση. Εάν το KeepAlive είναι ενεργοποιημένο, πρέπει επίσης να ορίσουμε ένα εύλογο χρονικό όριο για να αποφευχθεί η κατοχή διακομιστή IO για μεγάλο χρονικό διάστημα. Το ακόλουθο παράδειγμα περιέχει πολλές κύριες ρυθμίσεις του KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Διαμορφώστε τον αριθμό ταυτόχρονης
Μια λογική διαμόρφωση του αριθμού ταυτόχρονων μπορεί να βελτιώσει σημαντικά την απόδοση του διακομιστή. Συνήθως το Apache λειτουργεί σε λειτουργία mpm_prefork. Πρέπει να διαμορφώσουμε εύλογα πολλές βασικές παραμέτρους. Αυτό που πρέπει να προσέξουμε είναι ότι ο μέγιστος αριθμός συνδέσεων δεν θα πρέπει να είναι πολύ μικρός, πολύ μικρός θα προκαλέσει την απόρριψη μεγάλου αριθμού αιτημάτων χρηστών όταν ο συνδυασμός είναι υψηλός. Η εύλογη τιμή που ορίζουμε θα πρέπει να αναφέρεται στη CPU και τη μνήμη του διακομιστή. Εφόσον οι πόροι είναι επαρκείς, θα πρέπει να τον ορίσουμε όσο το δυνατόν μεγαλύτερος, αλλά αν τον ορίσουμε πολύ μεγάλο, οι πόροι του διακομιστή θα εξαντληθούν και ο Apache θα καταρρεύσει επίσης.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
Διαμόρφωση SSL
Οι περισσότεροι ιστότοποι έχουν πλέον ενεργοποιημένο SSL για την υποστήριξη ασφαλών συνδέσεων HTTPS. Το πλεονέκτημα του HTTPS είναι ότι το περιεχόμενο κατά τη μετάδοση είναι κρυπτογραφημένο, οπότε δεν χρειάζεται να ανησυχείτε για διαρροή πληροφοριών λόγω υποκλοπής από άλλους. Πριν ενεργοποιήσετε το SSL, πρέπει πρώτα να υποβάλετε αίτηση για πιστοποιητικό. Αφού λάβουμε το πιστοποιητικό, ανατρέξτε στην ακόλουθη διαμόρφωση για να ολοκληρώσετε τις ρυθμίσεις 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>