Installez Apache sur CentOS7
Référence officielle
Site officiel Documentation produit HTTPS GzipEffectuer 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>