Веб-сервер / Nginx
Nginx — это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения. Nginx позиционируется производителем как простой, быстрый и надёжный сервер, не перегруженный функциями. Применение nginx целесообразно прежде всего для статических веб-сайтов и как обратного прокси-сервера перед динамическими сайтами.
Пример развёртывания
dockhost compose apply https://docs.dockhost.ru/example/web-server/nginx.yaml
version: 1
project: example
# Environments configuration
environment:
configs:
nginx.conf: |
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
# Containers configuration
containers:
nginx:
image: nginx:alpine
replicas: 1
resources:
memory: 256MiB
cpu: 1
cpuFraction: 20
ports:
- '80'
volumes:
- name: nginx
mountPath: /var/log/nginx
configs:
- name: nginx.conf
mountPath: /etc/nginx/nginx.conf
# Volumes configuration
volumes:
nginx:
type: ssd
size: 1Gib
# Network configuration
network:
domains:
nginx: ~
routes:
http:
domain: nginx
path: /
service: nginx
port: '80'
Дополнительные сведения о контейнере можно найти по адресу https://hub.docker.com/_/nginx
Для хранения логов используется отдельный диск, так как размер внутреннего хранилища контейнера ограничен 256MiB
Удаление примера
dockhost compose delete https://docs.dockhost.ru/example/web-server/nginx.yaml