Nginx and Ubuntu
De Banane Atomic
Aller à la navigationAller à la recherche
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 uwsgi
/etc/nginx/nginx.conf |
# only in production error_page 403 404 = /index.php; location ~ \.php5?$ { include uwsgi_params; uwsgi_modifier1 14; uwsgi_pass unix:/run/uwsgi/mediawiki.sock; } location ^~ /wiki/ { rewrite ^/wiki/(.*)$ /index.php?title=$1; } # Restrictions based on the .htaccess files location ^~ /cache/ { deny all; } # location ^~ /images/ {} location ^~ /images/deleted/ { deny all; } location ^~ /images/temp/ { deny all; } location ^~ /includes/ { deny all; } location ^~ /languages/ { deny all; } location ^~ /maintenance/ { deny all; } location ^~ /maintenance/archives/ { deny all; } location ^~ /serialized/ { deny all; } location ^~ /tests/ { deny all; } # location ^~ /tests/qunit/ { allow all; } location ^~ /extensions/MobileFrontend/dev-scripts/ { deny all; } # location ^~ /extensions/MobileFrontend/tests/ {} # Restrictions d'accès supplémentaires location ^~ /mw-config/ { deny all; } location ^~ /extensions/ { deny all; } location ^~ /resources/ { deny all; } location ^~ /resources/assets/ { allow all; } location ^~ /docs/ { internal; } location ^~ /vendor/ { internal; } # Hide any .htaccess files location ~ /.ht { deny all; } location ~* \.(js|css|png|jpg|jpeg|svg|gif|ico)$ { try_files $uri /index.php; expires max; } |
LocalSettings.php |
$wgArticlePath = "/wiki/$1"; |
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 |