【发布时间】:2020-08-21 13:55:37
【问题描述】:
我有:
-
容器内的 Wordpress + MariaDB (docker-compose)
-
Nginx 安装到系统中(不在容器内)
我还有一个通过 nginx 代理的 web 应用程序,所以我不想像所有指南推荐的那样将 nginx 放入容器中。我只需要设置代理或配置它以从容器中查看 Wordpress 站点。
如何配置它以显示容器内的 Wordpress 网站?
我的尝试:
/etc/nginx/sites-enabled/my-site.com
server {
listen 80;
listen [::]:80;
server_name my-site.com;
root /root/my-site.com/wordpress;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass localhost:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~ /.ht {
deny all;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
log_not_found off;
access_log off;
allow all;
}
location ~* .(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
}
/root/my-site.com/docker-compose.yml
version: '3'
services:
wordpress:
image: wordpress:5.5.0-fpm-alpine
links:
- mariadb:mysql
depends_on:
- mariadb
env_file: .env
environment:
- WORDPRESS_DB_HOST=mariadb:3306
- WORDPRESS_DB_USER=$MYSQL_USER
- WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD
- WORDPRESS_DB_NAME=my-site_database
ports:
- '9000:9000'
volumes:
- ./wordpress:/var/www/html
networks:
- my-site-network
mariadb:
image: mariadb
env_file: .env
environment:
- MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
- MYSQL_DATABASE=my-site_database
ports:
- '3306:3306'
volumes:
- ./database:/var/lib/mysql
networks:
- my-site-network
networks:
my-site-network:
driver: bridge
当我打开 my-site.com 时,我看到了
404 Not Found
nginx/1.14.0 (Ubuntu)
【问题讨论】:
标签: wordpress docker docker-compose containers