Εγκαταστήστε το 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>