esup-pod

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Pour utiliser la base de donnée MySQL/MariaDB sur le serveur frontal (ou sur un serveur distant) il faut installer le moteur MySql/Python :

Bloc de code
(django_pod) 

...

pod@pod:/usr/local/django_projects/

...

podv3$ sudo apt-get install python3-dev
(django_pod) 

...

pod@pod:/usr/local/django_projects/

...

podv3$ sudo apt-get install default-libmysqlclient-dev
(django_pod) 

...

pod@pod:/usr/local/django_projects/

...

podv3$ pip3 install mysqlclient

...


SI ce n'est pas encore fait, vous devez spécifier la configuration de votre base de données dans votre fichier de configuration settings_local.py :

Bloc de code
(django_pod) 

...

pod@pod:/usr/local/django_projects/

...

podv3$ vim pod/custom/settings_local.py

...


Bloc de code
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {
            'init_command': "SET storage_engine=INNODB, sql_mode='STRICT_TRANS_TABLES', innodb_strict_mode=1",
         },
    }
}

...

Bloc de code
[...]
server { listen 80 default_server;
#listen [::]:80 default_server;
[...]

...

Installer les addons de NGINX


Bloc de code
(django_pod) pod@Pod:~/django_projects/podv3$ sudo apt-get install nginx-extras

Rajouter les lignes ci-dessous dans le fichier de configuration de nginx :

...

Bloc de code
(django_pod) pod@Pod:~/django_projects/podv3$

...

 sudo vim /etc/nginx/nginx.conf

...


Bloc de code
http {
[...]
     # Pod Progress Bar : reserve 

...

1MB under the name 'uploads' to track uploads 

...


 upload_progress uploadp 

...

1m;
[...]
}

...


Il faut ensuite spécifier le host pour le serveur web :

pod@pod:~$ cd django_projects/podv2podv3/
pod@pod:~/django_projects/podv2podv3$ cp pod_nginx.conf pod/custom/.
pod@pod:~/django_projects/podv2podv3$ vim pod/custom/pod_nginx.conf
pod@pod:~/django_projects/podv2podv3$ sudo ln -s /usr/local/django_projects/podv2podv3/pod/custom/pod_nginx.conf /etc/nginx/sites-enabled/pod_nginx.conf
pod@pod:~/django_projects/podv2podv3$ sudo /etc/init.d/nginx restart

...

pod@pod:~/django_projects/podv2$ sudo pip3 install uwsgi
pod@pod:~/django_projects/podv2$ sudo uwsgi --ini pod_uwsgi.ini --enable-threads --daemonize /usr/local/django_projects/podv2podv3/pod/log/uwsgi-pod.log --uid pod --gid www-data --pidfile /tmp/pod.pid
pod@pod:~/django_projects/podv2$ sudo uwsgi --stop /tmp/pod.pid

...

pod@pod:~/django_projects/podv2$ cp pod_uwsgi.ini pod/custom/.
pod@pod:~/django_projects/podv2$ vim pod/custom/pod_uwsgi.ini
pod@pod:~/django_projects/podv2$ sudo uwsgi --ini pod/custom/pod_uwsgi.ini --enable-threads --daemonize /usr/local/django_projects/podv2podv3/pod/log/uwsgi-pod.log --uid pod --gid www-data --pidfile /tmp/pod.pid
[uWSGI] getting INI configuration from pod/custom/pod_uwsgi.ini
pod@pod:~/django_projects/podv2podv3$ 

Pour lancer le service UWSGI au démarrage de la machine :

pod@pod:/usr/local/django_projects/podv2podv3/pod/log$ sudo vim /etc/systemd/system/uwsgi-pod.service

[Unit]
Description=Pod uWSGI app
After=syslog.target

[Service]
ExecStart=/usr/local/bin/uwsgi --ini /usr/local/django_projects/podv2podv3/pod/custom/pod_uwsgi.ini \
        --enable-threads \
        --pidfile /tmp/pod.pid
ExecStop=/usr/local/bin/uwsgi --stop /tmp/pod.pid
User=pod
Group=www-data
Restart=on-failure
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=all

[Install]
WantedBy=multi-user.target

...

pod@pod:/usr/local/django_projects/podv2podv3/pod/log$ sudo systemctl enable uwsgi-pod

...

pod@pod:/usr/local/django_projects/podv2podv3/pod/log$ sudo systemctl stop uwsgi-pod
pod@pod:/usr/local/django_projects/podv2podv3/pod/log$ sudo systemctl restart uwsgi-pod

...