Maison >Opération et maintenance >Nginx >Comment utiliser Nginx pour une mise en cache de fichiers statiques hautes performances
Comment utiliser Nginx pour une mise en cache de fichiers statiques hautes performances
Nginx est un serveur Web open source léger qui a reçu une attention et une utilisation généralisées pour ses hautes performances et ses capacités de simultanéité élevées. En plus d'être un serveur Web, Nginx a également une fonction importante, qui consiste à fournir une fonction de mise en cache de fichiers statiques, ce qui peut considérablement optimiser la vitesse d'accès et les performances du site Web. Cet article explique comment utiliser Nginx pour une mise en cache de fichiers statiques hautes performances et fournit des exemples de code correspondants.
server { listen 80; server_name example.com; root /path/to/static/files; location ~* .(jpg|jpeg|png|gif|css|js)$ { expires 30d; access_log off; } }
Dans la configuration ci-dessus, listen
spécifie le port sur lequel Nginx écoute et server_name
spécifie le nom de domaine du serveur. root
spécifie le répertoire racine où se trouvent les fichiers statiques. La directive location
spécifie le modèle d'URL correspondant et les paramètres de traitement correspondants. Dans la configuration ci-dessus, l'expression régulière ~* .(jpg|jpeg|png|gif|css|js)$
correspond au suffixe de jpg, jpeg, png, gif, css ou js Pour les fichiers, expires
spécifie que la période de validité du cache est de 30 jours et access_log off
désactive la journalisation des accès aux fichiers statiques. listen
指定了Nginx监听的端口,server_name
指定了服务器的域名。root
指定了静态文件所在的根目录。location
指令指定了匹配的URL模式,以及对应的处理参数。在上面的配置中,通过正则表达式~* .(jpg|jpeg|png|gif|css|js)$
匹配了以jpg、jpeg、png、gif、css或js为后缀的文件,expires
指定了缓存的有效期为30天,access_log off
则禁止了对静态文件的访问日志记录。
location ~* .(jpg|jpeg|png|gif|css|js)$ { expires 30d; access_log off; add_header Cache-Control "public"; add_header Pragma public; etag off; }
在上述示例中,add_header
指令添加了两个头部信息,分别是Cache-Control
和Pragma
。这两个头部信息告诉客户端和其他缓存服务器在一定时间内可以使用缓存的副本。etag off
禁用了Etag头部信息,因为在某些情况下,Etag可能会导致一些兼容性问题。
Cache-Control
和Expires
字段,以及响应内容的大小。如果缓存生效,那么在第一次访问静态文件后,再次请求时会看到Cache-Control
和Expires
的值与上述配置一致,并且响应内容的大小会变得非常小。另外,可以使用命令行工具如curl来查看HTTP响应头部信息。例如,可以执行以下命令来查看一个图片文件的HTTP响应头部信息:
$ curl -I example.com/path/to/image.jpg
如果缓存生效,那么你会在结果中看到类似下面的行:
Cache-Control: public, max-age=2592000 Expires: Thu, 10 Aug 2023 08:16:50 GMT
style.css
,我们可以将其重命名为style.v1.css
$ nginx -s reload
Dans l'exemple ci-dessus, la directive add_header
ajoute deux informations d'en-tête, à savoir Cache-Control
et le code Pragma
>. Ces deux en-têtes indiquent aux clients et autres serveurs de mise en cache que la copie mise en cache est disponible pendant une certaine période de temps. etag off
désactive les informations d'en-tête Etag, car dans certains cas, Etag peut provoquer des problèmes de compatibilité.
Vérifiez si le cache de fichiers statiques est efficace
Afin de vérifier si le cache de fichiers statiques est efficace, vous pouvez utiliser les outils de développement du navigateur ou les outils de ligne de commande pour vérifier. Dans les outils de développement du navigateur, vous pouvez afficher les champs Cache-Control
et Expires
de l'en-tête de réponse HTTP, ainsi que la taille du contenu de la réponse. Si le cache prend effet, après avoir accédé au fichier statique pour la première fois, vous verrez que les valeurs de Cache-Control
et Expires
sont cohérentes avec la configuration ci-dessus. lorsque vous demanderez à nouveau, le contenu de la réponse sera La taille deviendra très petite.
style.css
, nous pouvons le renommer en style.v1.css
et mettre à jour le fichier de configuration de Nginx pour qu'il corresponde au nouveau nom de fichier. De cette façon, chaque fois que le fichier CSS est modifié, il vous suffit de mettre à jour le numéro de version dans le nom du fichier. 🎜🎜🎜De plus, Nginx fournit également une commande reload pour recharger le fichier de configuration sans arrêter le serveur. Par exemple, vous pouvez exécuter la commande suivante pour recharger le fichier de configuration Nginx : 🎜rrreee🎜 De cette façon, Nginx relira le fichier de configuration et la configuration mise à jour prendra effet immédiatement. 🎜🎜Résumé🎜En utilisant Nginx pour la mise en cache de fichiers statiques, les performances et la vitesse d'accès du site Web peuvent être considérablement améliorées. Dans cet article, nous expliquons comment configurer Nginx pour activer les fonctions d'accès aux fichiers statiques et de mise en cache, et fournissons des exemples de code et des méthodes de vérification correspondants. Espérons que ce contenu vous aidera à optimiser les performances de votre site Web. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!