我正在将WordPress- + mysql + phpmyadmin与docker-compose配合使用,并在主机中使用带有nginx的反向代理将所有请求发送到wordpress容器。在安装wordpress之后,我将“ site_url”和“ home”选项名称设置为“ http://example.com”。当我浏览http://example.com/wp-admin时一切正常,但是当我尝试使用http://example.com时,它将重定向到本地主机。一切都在远程服务器中,而我是通过浏览器而不是服务器本身发出这些请求的。 这是我的nginx conf:
server {
listen 80;
listen [::]:80;
server_name example.com
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://localhost:8000;
}
}
这是docker-compose文件:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- /home/wordpress/mysqldb:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpresspass
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- /home/wordpress/wordpress/html:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpresspass
WORDPRESS_DB_NAME: wordpress
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: always
ports:
- '8080:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: rootpass
如果我将选项名称设置为ServerIp:8000,则地址http://example.com可以使用,但是其他所有内容都将通过ServerIp重定向,我想使用域名。我是否缺少wordpress选项的功能?
答案 0 :(得分:0)
问题是一个简单的语法错误。我使用“ service nginx restart”命令重新启动并使用了新的nginx配置,但是重新启动不会显示错误,并且会自动回退到旧配置。服务器名称中缺少一个简单的“;”。