Installez Apache sur CentOS7

Référence officielle

Site officiel Documentation produit HTTPS Gzip

Effectuer l'installation

            yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
        

Modifier le fichier de configuration

Une fois l'installation terminée, nous devons apporter quelques modifications au fichier de configuration. Le contenu de modification spécifique comprend généralement: l'adresse IP et le port liés, la transmission par compression gzip, le nombre de connexions simultanées et SSL. Expliquons-les un par un ci-dessous.

Modifier l'adresse IP et le port liés

L'adresse IP et le port par défaut qu'Apache écoute est 0.0.0.0:80. Si nous devons modifier l'adresse IP et le port surveillés, nous pouvons les modifier directement. Si nous devons lier plusieurs ports, nous pouvons également les ajouter. Dans l'exemple suivant, nous lions les ports 80 et 443. Le port 443 est le numéro de port par défaut pour HTTPS.

            Listen 80
Listen 443 https
        

Ouvrir la transmission gzip

Étant donné que les performances du processeur de notre ordinateur sont relativement élevées, le goulot d'étranglement apparaît généralement dans la bande passante du réseau, nous pouvons donc choisir d'activer la transmission par compression gzip. Il existe 9 niveaux de compression, nous pouvons choisir en fonction des performances de notre serveur et trouver le niveau le plus adapté. Dans l'exemple ci-dessous, nous le réglons au niveau 1. Les types de fichiers compressés sont: html, xml, php, css, js, nous pouvons également ajouter des types de fichiers compressés au besoin.

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

Configurer KeepAlive

La fonction de KeepAlive est de garder le client et le serveur connectés pendant un certain temps. Lorsque nous ouvrons une page Web, nous devons généralement charger le contenu principal, js, css et images. Étant donné que chaque ressource doit lancer une requête HTTP distincte, nous permettons à KeepAlive de réduire le temps nécessaire à chaque requête pour établir un lien TCP / IP. Mais KeepAlive a également des inconvénients, cela entraînera l'occupation des ressources IO du serveur, nous devons donc choisir d'activer KeepAlive en fonction de la situation réelle. Si KeepAlive est activé, nous devons également définir un délai d'attente raisonnable pour éviter que les E / S du serveur ne soient occupées pendant une longue période. L'exemple suivant contient plusieurs paramètres principaux de KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Configurer le nombre de concurrents

Une configuration raisonnable du nombre de simultanés peut grandement améliorer le débit du serveur. Habituellement, notre Apache fonctionne en mode mpm_prefork. Nous devons configurer raisonnablement plusieurs paramètres clés. Ce à quoi nous devons faire attention, c'est que le nombre maximum de connexions ne doit pas être trop petit, trop petit entraînera le rejet d'un grand nombre de demandes d'utilisateurs lorsque la concurrence est élevée. La valeur raisonnable que nous avons définie doit faire référence au processeur et à la mémoire du serveur. Tant que les ressources sont suffisantes, nous devons la définir aussi grande que possible, mais si nous la définissons trop grande, les ressources du serveur seront épuisées et Apache plantera également.

            <IfModule mpm_prefork_module>
    StartServers         10
    MinSpareServers      25
    MaxSpareServers      50
    ServerLimit          1500
    MaxClients           1000
    MaxRequestsPerChild  3000
</IfModule>
        

Configurer SSL

La plupart des sites Web ont désormais activé SSL pour prendre en charge les connexions sécurisées HTTPS. L'avantage de HTTPS est que le contenu pendant la transmission est crypté, il n'y a donc pas lieu de s'inquiéter des fuites d'informations dues à l'interception par d'autres. Avant d'activer SSL, nous devons d'abord demander un certificat. Après avoir obtenu le certificat, reportez-vous à la configuration suivante pour terminer les paramètres 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>