Nginx and Ubuntu
Apparence
Install
ai nginx php-fpm
# check nginx and php-fpm are running
sc-status nginx
sc-status php8.2-fpm
|
UWSGI
ai uwsgi-plugin-php
# uwsgi dependencies: libjansson4 libnorm1 libpgm-5.2-0 libzmq5 uwsgi-core
# uwsgi-plugin-php dependencies: libphp-embed libphp8.2-embed php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-phpdbg php7.4-readline
# wrongly install php7.4 dependencies while php8.2 is installed
|
Site configuration
# 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/php8.2-fpm.sock;
}
}
|
Mediawiki
Pretty URL avec php-fpm
/etc/nginx/nginx.conf |
location / {
# Do this inside of a location so it can be negated
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
include /etc/nginx/fastcgi.conf;
}
}
# Handling for the article path
location /wiki {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
include /etc/nginx/fastcgi.conf;
# article path should always be passed to index.php
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
}
|
LocalSettings.php |
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
|
URL classique
/etc/nginx/nginx.conf |
server {
listen 80;
server_name myserver;
root /srv/http/myserverfolder;
index index.php;
# Restrictions based on the .htaccess files
location ~ /cache|images/deleted|languages|maintenance|maintenance/archives|serialized|tests/ {
deny all;
}
# est-ce vraiment utile ?
# location ~ /docs|extensions|includes|mw-config|resources|scripts/ {
# internal;
# }
# ne semble pas nécessaire
# réécrit les urls: /index.php/Sujet → /index.php?title=Sujet
# location / {
# try_files $uri $uri/ @rewrite;
# }
# location @rewrite {
# rewrite ^/(.*)$ /index.php?title=$1&$args;
# }
# est-ce vraiment utile ?
# Keep images and CSS around in browser cache for as long as possible, to cut down on server load
# location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
# try_files $uri /index.php;
# expires max;
# log_not_found off;
# }
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include /etc/nginx/fastcgi.conf;
}
|
![]() |
Le fichier robots.txt devra correspondre aux urls de type /index.php?title=MonTitre |