Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用nginx运行django和wordpress_Django_Wordpress_Nginx - Fatal编程技术网

如何使用nginx运行django和wordpress

如何使用nginx运行django和wordpress,django,wordpress,nginx,Django,Wordpress,Nginx,我在配置我的nginx.conf文件以运行主域上的django服务器和domain.com/blog上的WordPress站点时遇到问题 这是我的配置文件,我的WordPressdir是 /var/www/varzesh kon/blog/: upstream Main_Project_server { server unix:/home/amirfarsad/django_env/run/gunicorn.sock fail_timeout=0; } server { listen

我在配置我的
nginx.conf
文件以运行主域上的django服务器和
domain.com/blog
上的WordPress站点时遇到问题

这是我的配置文件,我的WordPress
dir
/var/www/varzesh kon/blog/

upstream Main_Project_server {
server unix:/home/amirfarsad/django_env/run/gunicorn.sock fail_timeout=0;
}

server {

  listen   80;
  server_name 2n9l.s.serverhost.name;

  client_max_body_size 4G;
  access_log /home/amirfarsad/logs/nginx-access.log;
  error_log /home/amirfarsad/logs/nginx-error.log;

  location /static/ {
      alias   /home/amirfarsad/Main_Project/static/;
  }

  location /media/ {
      alias   /home/amirfarsad/Main_Project/media/;
  }

  location / {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;
      if (!-f $request_filename) {
          proxy_pass http://Main_Project_server;
          break;
      }
  }


  location /blog/ {
      root /var/www/varzesh-kon/blog/;
      index index.php index.html index.htm;
      try_files $uri =404;
  }

  location ~ \.php$ {
      try_files $uri =404;
      fastcgi_pass unix:/run/php/php7.0-fpm.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
      root /var/www/varzesh-kon/blog/;
  }
}

我的django站点运行良好,但当我转到
domain.com/blog
时,它会给我一个404未找到的nginx页面。

尝试更改底部
位置块

location ^~ /blog {
        root /var/www/varzesh-kon/;
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.php$is_args$args;
    }
说明: 对于
root
指令,将完整路径附加到根目录,包括位置部分

就你而言:

location /blog/ {
      root /var/www/varzesh-kon/blog/;
nginx将派生的最终路径是:

/var/www/varzesh-kon/blog/blog
这就是为什么它向您显示
404未找到
page


解决方案: 使用
alias
而不是
root

或者将根路径更改为
/var/www/varzesh kon/

location /blog/ {
      root /var/www/varzesh-kon/;
...
}

location /blog/ {
      alias /var/www/varzesh-kon/blog/;
...
}

更多信息:

nice explauration非常有用的解释404页面的问题现已解决,但我遇到了另一个问题PHP文件正在下载而不是在浏览器中打开。您知道如何解决该问题吗?您可以按照以下指南操作: