Допустим, у меня 20 сайтов, и я хочу автоматизировать процесс вставки директив кэширования 1X1 nginx.conf
и директив кэширования 1X20 на 20 различных виртуальных хостов, которые у меня есть?
Кроме того, мои виртуальные хосты уже были изменены Certbot и стали немного беспорядочными (Certbot 0.21.1-1 + ubuntu16.04.1 + certbot + 0.2
добавляет много пробелов и комментариев), поэтому я ' m теперь еще менее уверен, как эффективно включить кэширование объектов Nginx для всех моих сайтов.
Как бы вы сделали это эффективно?
Use include
s.
Вот типичная конфигурация одного из моих сайтов:
server {
server_name www.yes-www.org;
root /srv/www/yes-www.org;
access_log /var/log/nginx/yes-www.org-access.log nginx;
access_log /var/log/nginx/cache.log cache;
error_log /var/log/nginx/yes-www.org-error.log;
ssl_certificate /etc/letsencrypt/live/www.yes-www.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.yes-www.org/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/www.yes-www.org/fullchain.pem;
include includes/listen-443;
include includes/cloudflare;
include includes/letsencrypt;
include includes/ssl;
include includes/ssl_stapling;
include includes/hsts;
include includes/csp_wordpress;
include includes/favicon;
include includes/wordpress;
include includes/php;
include /srv/www/yes-www.org/nginx.conf;
location ~ /\.(ht|git) {
deny all;
}
}
Содержимое /etc/nginx/includes/letsencrypt
, например:
location /.well-known/acme-challenge/ {
root /var/www;
try_files $uri =404;
}
В то время как /etc/nginx/includes/listen-443
состоит из:
listen 443 ssl http2;
listen [::]:443 ssl http2;
Таким образом, вы можете извлечь все, что повторяется среди блоков вашего сервера
, и включить его в любое место, где вам это необходимо.