# Path to access.log & error.log
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log warn;
sendfile on;
keepalive_timeout 65;
gzip on;
upstream backend {
# must match the target service name
server wordpress:80;
}
server {
listen 80;
location / {
# $http_host is the host name that users seen on the browser URL
# and it equals to `HTTP_HOST` request header.
proxy_set_header Host $http_host;
# You have to change this according to your setup.
proxy_pass http://wordpress:80;
# Modify `Location` of 301 or 302 HTTP response, so
# that the browser will follow the correct location.
proxy_redirect ~^http://[^/]*/(.*) http://$http_host/$1;
}
}
""" compose.yml """ services: mysql: image: mysql:8.0 container_name: user-17-blog_db volumes:
./db:/var/lib/mysql environment: MYSQL_ROOT_PASSORD: wordpress123 MYSQL_DATABASE: blog MYSQL_USER: db-user-17 MYSQL_PASSORD: db-user-17-123 logging: driver: gelf options: gelf-address: udp://127.0.0.1:12201 healthcheck: test: ['CMD-SHELL','mysqladmin ping -h localhost -u root --password=wordpress123 || exit 1'] interval: 30s timeout: 10s retries: 3 restart: unless-stopped
wordpress: image: wordpress:beta-php8.3-fpm-alpine container_name: user-17-blog volumes:
./wordpress:/var/www/htm environment: WORDPRESS_DB_HOST: mysql WORDPRESS_DB_USER: word-user-17 WORDPRESS_DB_PASSWORD: word-user-17-123 healthcheck: test: ['CMD-SHELL', 'curl -f http://localhost:80 || exit 1'] interval: 30s timeout: 10s retries: 3
web: image: nginx:latest container_name: user-17-web volumes:
""" nginx.conf """ user nginx; worker_processes 1;
error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;
events { worker_connections 1024; }
http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
}