Nginx and Ubuntu

De Banane Atomic
Aller à la navigationAller à la recherche

Install

Bash.svg
ai nginx php-fpm

# check nginx and php-fpm are running
sc-status nginx
sc-status php8.2-fpm

Site configuration

Bash.svg
# enable a web site
sudo ln -s /etc/nginx/sites-available/phpinfo.conf /etc/nginx/sites-enabled/phpinfo.conf
sc-restart nginx

phpinfo

/etc/nginx/sites-available/phpinfo.conf
server {
    listen 80;
    root /var/www/php;
    index info.php;
    server_name phpinfo.net;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php-fpm (or other unix sockets):
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }
}

Mediawiki

/etc/nginx/site-availables/mediawiki.conf
server {
    server_name mediawiki.domain.net;
    listen      80;
    root        /var/www/mediawiki;
    index       index.php;

    # deny access to cache
    location ^~ /cache/ {
        deny all;
    }

    # don't execute php from images
    location ^~ /images/ { }

    # Handling for the article path (pretty URLs)
	location /wiki/ {
		rewrite ^/wiki/(?<pagename>.*)$ /index.php;
	}

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }

    # Explicit access to the root website, redirect to main page
    location = / {
        return 301 /wiki/Main_Page;
    }
    # Every other entry point will be disallowed
    location / {
        return 404;
    }
}