Skip to main content

Setting Up Multiple Sites within Nginx

Setting Up PHP Nginx MariaDB

Tutorial: https://gist.github.com/nd3w/8017f2e0b8afb44188e733d2ec487deb

Setting up Multiple Sites:

https://www.youtube.com/watch?v=gsSGDEexBl8&t=866s

Basically you will need to create new conf file rules for nginx to load in sites-enabled or conf.d folder

/etc/nginx/conf.d/example.conf

root /var/www/example1; <<< example site folder path
server_name example1.kyluat.lan example1.com; << example domain name with local dns pi hole setted up that point to the server ip address.

server {
        listen 80;
        listen [::]:80;

        # SSL configuration
        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;

        root /var/www/example1;

        # Add index.php to the list if you are using PHP
        index index.html;

        server_name example1.kyluat.lan example1.com;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

        # pass PHP scripts to FastCGI server
        #

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }
        
        #location ~ \.php$ {
        #       include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
        #       fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #       deny all;
        #}
}