Aiming here to replicate Apache's VirtualDocumentRoot

This is mandatory otherwise nginx won't start. Pretty bizaare:

events {
    worker_connections  1024;
}

This is the Archlinux default:

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

server {
    charset utf-8;
    listen 80;
    autoindex on;
    include        fastcgi.conf;

Here we map the requested domain to /srv/www/$vhost

    server_name ~^(?<vhost>.*)$;
    root /srv/www/$vhost;
    index  index.html index.php index.cgi index.txt;
    access_log /var/log/nginx/$vhost.access.log;

To get PHP/CGI working, it's you need this with php-fpm.service & fcgiwrap.service going beforehand.

    location ~ \.php$ {
        try_files      $uri =404;
        fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
    }

    location ~ \.cgi$ {
        fastcgi_pass   unix:/run/fcgiwrap.sock;
    }
}
}

Optimisations to consider

Feedback

Powered by Vanilla PHP feedback form