Setting Nginx "auto.dev" will not load WordPress correctly

Following this guide ( http://blog.evan.pro/how-to-set-up-up-dynamic-virtual-hosts-for-web-development ), I'm trying to set up a localhost / nginx configuration that allows me to easily run environments without adding a separate entry for each (using dnsmasq). When I run nginx and access the site via sitename.dev, sites that use WordPress do not seem to work. I believe that the nginx configuration is missing me,

worker_processes  1;

error_log  /usr/local/etc/nginx/logs/error.log debug;

events {
    worker_connections  1024;
}

http {
    include             mime.types;
    default_type        application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /usr/local/etc/nginx/logs/access.log  main;

    sendfile            on;

    keepalive_timeout   65;

    index index.html index.php;

    server {
        listen 80;
        server_name .dev;

        # dynamic vhosts for development
        set $basepath "/var/www";

        set $domain $host;
        if ($domain ~ "^(.*)\.dev$") {
            set $domain $1;
        }
        set $rootpath "${domain}";
        if (-d $basepath/$domain/public) {
            set $rootpath "${domain}/public";
        }
        if (-d $basepath/$domain/httpdocs) {
            set $rootpath "${domain}/httpdocs";
        }
        if (-d $basepath/$domain/web) {
            set $rootpath "${domain}/web";
        }
        if (-f $basepath/$domain/index.php) {
            set $rootpath $domain;
        }
        if (-f $basepath/$domain/index.html) {
            set $rootpath $domain;
        }

        root $basepath/$rootpath;

        # enable PHP
        index index.php app.php index.html;
        location / {
            index index.php;
            error_page 404 = @indexphp;
            include   /usr/local/etc/nginx/conf.d/php-fpm;
            try_files $uri $uri/ /index.php?$args;
        }
        location @indexphp {
            rewrite ^(.*)$ /index.php$1;
        }
        location ~ ^(.+\.php)(?:/.+)?$ {
            expires off;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            include fastcgi_params;
        }

        # block .ht* access
        location ~ /\.ht {
            deny all;
        }
    }
}

For example, accessing mynewproject.dev gives me 200 OK, but nothing is loaded. Having accessed someotherproject.dev, which does not use WordPress (but uses a server language such as PHP), I see that the site is correctly displayed.

+4
1

1) wordpress , $basepath "/var/www";

2) .

0

Source: https://habr.com/ru/post/1534641/


All Articles