【发布时间】:2018-10-07 00:15:38
【问题描述】:
我有一台安装了 nginx 的服务器和多个容器,我希望 nginx 将请求定向到适当的容器。
其中一个容器是暴露端口 8000 的 Wordpress 容器:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: **
MYSQL_DATABASE: wordpress
MYSQL_USER: **
MYSQL_PASSWORD: **
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: **
WORDPRESS_DB_PASSWORD: **
volumes:
db_data:
我已成功输入地址中的 Wordpress 实例:http://my_wordpress.com:8000。
我应该如何配置我的 nginx,以便当我请求 http://my_wordpress.com 时,它会将请求转发到 WordPress?
我现在的wordpress.conf:
server {
listen 80;
server_name my_wordpress.com;
return 301 https://my_wordpress.com$request_uri;
}
server {
listen 443 ssl spdy;
server_name my_wordpress.com;
ssl_certificate ***********.pem;
ssl_certificate_key ***************.pem;
ssl_protocols ***************;
ssl_ciphers '*******************';
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass my_wordpress.com:8000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
【问题讨论】:
-
这个
wordpress.conf在哪里? -
@AlexanderAzarov
/etc/nginx/conf.d/wordpress.conf -
我很好奇您的工作 Wordpress 如何显示静态文件,例如CSS、图像等。它们都可以吗?
-
谢谢! Wordpress 使用错误的 URL 呈现静态资产,有关更多信息,请参阅我的答案。