Débutants. Modifions les paramètres du conteneur nginx!
Référence: [Qiita] Summary of nginx (Introduction)
Selon l'article de référence ci-dessus, le fichier de configuration nginx se trouve dans
/ usr / local / etc / nginx / pour les non-conteneurs, mais le conteneur (
nginx: 1.18 ''` dans Docker Hub. (Dans le cas de) est introuvable.
Dans un tel cas, utilisez `` docker exec -it nginx bash '' pour vous faufiler dans le conteneur et le vérifier.
Dans le cas d'un conteneur, il y avait
nginx.conf sous `` `` / etc / nginx
.
Pour les paramètres du serveur, incluez dans ce fichier/etc/nginx/conf.d/*.conf;Est référencé et par défaut/etc/nginx/conf.d/default.Il semble être défini dans conf.
# Mettre en cache le contenu statique
Si vous le définissez très grossièrement en vous référant au [Site officiel](http://mogile.web.fc2.com/nginx/admin-guide/caching.html), il ressemblera à ce qui suit.
Il n'y a pas de `` / data / nginx / cache '' dans le conteneur par défaut de nginx, donc si vous souhaitez démarrer le conteneur, créez-le dans le Dockerfile.
#### **`/etc/nginx/nginx.conf`**
```nginx
http {
(Omission)
proxy_cache_path /data/nginx/cache keys_zone=cachezone:10m max_size=200m;
include /etc/nginx/conf.d/*.conf;
(Omission)
}
nginx:/etc/nginx/conf.d/default.conf
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
proxy_cache cachezone;
proxy_pass http://127.0.0.1:8080;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 10m;
}
}
server {
listen 8080;
listen [::]:8080;
server_name localhost2;
(Ce qui suit est omis)
}
C'est presque le même que le site officiel, mais tout en disant qu'il mettra tout en cache par défaut,
proxy_cache_key $host$uri$is_args$args;
Veuillez noter que si vous ne définissez pas, vous obtiendrez toujours un échec de cache.
Consulter le journal est le moyen le plus rapide.
/etc/nginx/nginx.conf
http {
(Omission)
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$upstream_cache_status" "$server_port"';
(Omission)
}
Déconnectons-nous
$ upstream_cache_status "`` et ``
" $ server_port "` ``.
Dans la version sans cache
XXX.XXX.XXX.XXX - - [24/Oct/2020:12:32:01 +0000] "GET /xxxxx/ HTTP/1.1" 200 4668 "-" "python-requests/2.24.0" "-" "-" "80"
Vous pouvez voir que le journal de la fonction proxy n'est pas sorti. En revanche, dans la version mise en cache,
127.0.0.1 - - [24/Oct/2020:12:56:34 +0000] "GET / HTTP/1.0" 200 956 "-" "curl/7.61.1" "-" "-" "8080"
XXX.XXX.XXX.XXX - - [24/Oct/2020:12:56:34 +0000] "GET / HTTP/1.1" 200 956 "-" "curl/7.61.1" "-" "MISS" "80"
XXX.XXX.XXX.XXX - - [24/Oct/2020:12:56:54 +0000] "GET / HTTP/1.1" 200 956 "-" "curl/7.61.1" "-" "HIT" "80"
Avec un tel sentiment, le journal de communication interne et le journal de la fonction proxy qui affiche la présence ou l'absence de hits de cache sont émis.
Il semble qu'il y ait encore beaucoup de place, mais j'ai arrêté le côté des outils de performance, donc je suis là.
cette? Les performances semblent meilleures sans cache. Probablement, le modèle de charge cette fois-ci est "un accès concentré à un contenu pas si volumineux", donc je pense que c'est plus de surcharge pour obtenir sur le cache de tampon du système d'exploitation en premier lieu. .. Pour voir la différence exacte, vous devrez peut-être «distribuer l'accès à un contenu volumineux» pour bénéficier du cache.
Recommended Posts