Вот только сегодня правил скрипт, поднимающий сайт из заготовки на указанном поддомене.
В конфиге nginx просто указано, что каждая папка в /var/www - это поддомен, и никаких правок для поднятия нового делать не требуется.
server {
listen 80;
#listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
server_name my-site.com *.my-site.com;
charset utf-8;
access_log /var/www/logs/access.nginx.log;
error_log /var/www/logs/error.nginx.log error;
set $subdomain "www";
if ($host ~* ^([-a-z0-9]+)\.my-site\.com$) {
set $subdomain $1;
}
if ($host ~* ^www\.my-site\.com$) {
rewrite ^/(.*)$ http://my-site.com/$1 permanent;
}
root /var/www/$subdomain/public;
client_max_body_size 32M;
location / {
rewrite ^/.*$ /index.php last;
}
# Pass the PHP scripts to FastCGI server
location ~ ^/index.php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}