gpt4 book ai didi

php - 如何在使用相同域的 NGINX 服务器上运行 django 和 wordpress?

转载 作者:可可西里 更新时间:2023-10-31 22:40:37 30 4
gpt4 key购买 nike

我尝试了很多方法,但不知道如何在 example.com 上运行 Django 和在 example.com/blog 上运行 wordpress

Django 和 Wordpress 的运行项目目录结构如下。

Django 应用程序目录-/home/ubuntu/django

Django 应用成功运行 - example.com:8000

WordPress 目录 -/var/www/html/blog

Wordpress 在 - example.com 上成功运行

Nginx 配置

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /var/www/html/blog;
index index.php index.html index.htm;

server_name example.com;

location / {
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?q=$uri&$args;
}

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}

注意- 由 gunicorn 运行的 Django 应用程序,我知道子域可能是解决方案,但我不希望那样。

如何为 Wordpress 和 Django 编写 nginx 配置以在 example.com 上运行 Django 应用程序 并在 example.com/blog 上运行 Wordpress

最佳答案

谢谢 alex帮助我解决了这个问题。

解决方法

Django 应用程序目录-/home/ubuntu/django

WordPress 目录 -/var/www/html/blog

NGINX 配置文件

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name example.com;

location / {
proxy_pass http://127.0.0.1:8000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For

$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

location ~ /blog/.*\.php$ {
root /var/www/html;
index index.php index.html index.htm;
set $php_root /var/www/html/blog;

try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

location /blog {
root /var/www/html;
index index.php index.html index.htm;
set $php_root /var/www/html/blog;

try_files $uri $uri/ /blog/index.php;
}

location /static/ {
alias /home/ubuntu/django/your_app_name/static/static_root/;
}

location /media/ {
alias /home/ubuntu/django/your_app_name/media/ ;
}

}

注意-请用 http://example.com/blog 替换您的主页和站点url 在wordpress的wp-location表中

现在您的 Django 应用程序在 example.com 上运行

现在您的博客在 example.com/blog 上运行

关于php - 如何在使用相同域的 NGINX 服务器上运行 django 和 wordpress?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40581246/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com