« Nginx uWSGI and Ubuntu » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
 
(6 versions intermédiaires par le même utilisateur non affichées)
Ligne 4 : Ligne 4 :
ai nginx uwsgi uwsgi-plugin-php
ai nginx uwsgi uwsgi-plugin-php


# check nginx is running
# check nginx and uwsgi are running
sc-status uwsgi
sc-status nginx
sc-status nginx
</kode>
</kode>
{{warn | With Ubuntu 20.04, ondrej ppa and PHP 8.2 installed, the following dependencies are wrongly installed:<br>
php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-phpdbg php7.4-readline}}


= Site configuration =
= Site configuration =
Ligne 15 : Ligne 13 :
# enable the uwsgi configuration
# enable the uwsgi configuration
sudo ln -s /etc/uwsgi/apps-available/phpinfo.conf /etc/uwsgi/apps-enabled/phpinfo.conf
sudo ln -s /etc/uwsgi/apps-available/phpinfo.conf /etc/uwsgi/apps-enabled/phpinfo.conf
sc-restart nginx
sc-restart uwsgi
# it creates sockets /var/run/uwsgi/app/<appname>/socket


# enable the nginx configuration
# enable the nginx configuration
Ligne 25 : Ligne 24 :
<filebox fn='/etc/nginx/sites-available/phpinfo.conf' lang=nginx>
<filebox fn='/etc/nginx/sites-available/phpinfo.conf' lang=nginx>
server {
server {
    listen 80;
    root /var/www/php;
    index info.php;
     server_name phpinfo.net;
     server_name phpinfo.net;
    listen      80;
    root        /var/www/php;
    index      info.php;


     location ~ \.php$ {
     location ~ \.php$ {
         include uwsgi_params;
         include         uwsgi_params;
         uwsgi_modifier1 14;
         uwsgi_modifier1 14;
         uwsgi_pass 127.0.0.1:3030;
         uwsgi_pass     unix:/var/run/uwsgi/app/phpinfo/socket;
     }
     }
}
}
Ligne 40 : Ligne 40 :
<filebox fn='/etc/uwsgi/apps-available/phpinfo.ini'>
<filebox fn='/etc/uwsgi/apps-available/phpinfo.ini'>
[uwsgi]
[uwsgi]
master = True
master     = true
cheap = True
cheap       = true
idle = 600
idle       = 600
die-on-idle = True # If app is not used often, it will exit and be launched again by systemd requested by users.
die-on-idle = true # If app is not used often, it will exit and be launched again by systemd requested by users.


manage-script-name = True
manage-script-name = true


plugins = 0:cgi
plugins         = php
cgi = /usr/lib/cgit/cgit.cgi
php-docroot    = /var/www/php
php-index      = info.php
php-allowed-ext = .php
</filebox>
</filebox>
= Log =
* {{boxx|/var/log/uwsgi/app}}


= Systemd =
= Systemd =

Dernière version du 9 août 2023 à 17:15

Install

Bash.svg
ai nginx uwsgi uwsgi-plugin-php

# check nginx and uwsgi are running
sc-status uwsgi
sc-status nginx

Site configuration

Bash.svg
# enable the uwsgi configuration
sudo ln -s /etc/uwsgi/apps-available/phpinfo.conf /etc/uwsgi/apps-enabled/phpinfo.conf
sc-restart uwsgi
# it creates sockets /var/run/uwsgi/app/<appname>/socket

# enable the nginx configuration
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 {
    server_name phpinfo.net;
    listen      80;
    root        /var/www/php;
    index       info.php;


    location ~ \.php$ {
        include         uwsgi_params;
        uwsgi_modifier1 14;
        uwsgi_pass      unix:/var/run/uwsgi/app/phpinfo/socket;
    }
}
/etc/uwsgi/apps-available/phpinfo.ini
[uwsgi]
master      = true
cheap       = true
idle        = 600
die-on-idle = true # If app is not used often, it will exit and be launched again by systemd requested by users.

manage-script-name = true

plugins         = php
php-docroot     = /var/www/php
php-index       = info.php
php-allowed-ext = .php

Log

  • /var/log/uwsgi/app

Systemd

One service per app in systemd

/etc/systemd/system/uwsgi-app@.socket
[Unit]
Description=Socket for uWSGI app %i

[Socket]
ListenStream=/var/run/uwsgi/%i.socket
SocketUser=www-%i
SocketGroup=www-data
SocketMode=0660

[Install]
WantedBy=sockets.target
/etc/systemd/system/uwsgi-app@.service
[Unit]
Description=%i uWSGI app
After=syslog.target

[Service]
ExecStart=/usr/bin/uwsgi \
        --ini /etc/uwsgi/apps-available/%i.ini \
        --socket /var/run/uwsgi/%i.socket
User=www-%i
Group=www-data
Restart=on-failure
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=all