我有一个 wordpress 和 django 应用程序,其中 nginx 配置如下:
# django
server {
listen 80;
server_name domain.com;
location /static/ {
alias /path/to/static/;
}
location / {
proxy_pass http://unix:/path/to/gunicorn.sock;
}
}
# wordpress
server {
listen 80;
server_name blog.domain.com;
root /path/to/wordpress;
index index.html index.php;
location /{
index index.php;
try_files $uri $uri/ /index.php?$args;
}
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;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
此时的网址
- domain.com-->Django
- blog.domain.com --> Wordpress
这个配置工作正常,但我想配置 nginx,以便 wordpress 可以作为子目录运行domain.com/blog/来自 djanggo,只有一个端口配置
我期望的网址
- domain.com-->Django
- domain.com/blog/-->Wordpress
答案1
您需要location {}
在一个server {}
块内包含两个块,一个指向 django with proxy_pass
,另一个指向 wordpress。您仍然可以保留第二个server {}
块来为blog.domain.com
网站提供服务。