Встановлюємо Python 3
Встановлюєм pip
python3 -m pip install --upgrade pip
Якщо проблема з оновленням
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
Зберігаємо список модулів Python з старого сервера в файл "requirements.txt" і встановлюємо модулі на новий сервер.
pip3 install -r requirements.txt
Встановлюємо uwsgi
apt-get install uwsgi-plugin-python3
Приклад налаштування конфігурації nginix для VestaCP
server {
listen 55.555.55.555:80;
server_name itshnyk.pp.ua www.itshnyk.pp.ua;
root /home/luzhnyak/web/itshnyk.pp.ua/public_html;
index index.php index.html index.htm;
access_log /var/log/nginx/domains/itshnyk.pp.ua.log combined;
access_log /var/log/nginx/domains/itshnyk.pp.ua.bytes bytes;
error_log /var/log/nginx/domains/itshnyk.pp.ua.error.log error;
location / {
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass 127.0.0.1:9005;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
error_page 403 /error/404.html;
error_page 404 /error/404.html;
error_page 500 502 503 504 /error/50x.html;
location /error/ {
alias /home/luzhnyak/web/itshnyk.pp.ua/document_errors/;
}
location ~* "/\.(htaccess|htpasswd)$" {
deny all;
return 404;
}
location /vstats/ {
alias /home/luzhnyak/web/itshnyk.pp.ua/stats/;
include /home/luzhnyak/conf/web/itshnyk.pp.ua.auth*;
}
include /etc/nginx/conf.d/phpmyadmin.inc*;
include /etc/nginx/conf.d/phppgadmin.inc*;
include /etc/nginx/conf.d/webmail.inc*;
include /home/luzhnyak/conf/web/nginx.itshnyk.pp.ua.conf*;
}
Приклад налаштування uwsgi
plugins = python3
#http-modifier1 = 9
#gid = www-data
#uid = www-data
socket=127.0.0.1:8097
#pidfile=/var/run/uwsgi
chdir=/home/luzhnyak/web/itshnyk.pp.ua/app
#module=flask.wsgi
wsgi-file=/home/luzhnyak/web/itshnyk.pp.ua/app/main.py
callable=app
#pythonpath=/usr/local/lib/python3.5/site-packages/
#no-site=True
touch-reload=/home/luzhnyak/web/itshnyk.pp.ua/app/main.py
#master = true
processes = 4
threads = 10
#enable-threads = True
#log-syslog = uwsgi-ligo
stats = 127.0.0.1:9197
daemonize=/var/log/nginx/domains/itshnyk.pp.ua.error.log
buffer-size=32768
Установка і настройка supervisord
Установка, як зазвичай:
Тепер створюємо конфігураційний файл:
з наступним змістом (обов'язково переіменовуємо [program: itshnyk]):
directory=/home/luzhnyak/web/itshnyk.pp.ua/app/
command=uwsgi --ini /home/luzhnyak/web/itshnyk.pp.ua/itshnyk_uwsgi.ini
user=root
autostart=true
autorestart=true
stdout_logfile = /var/log/nginx/domains/itshnyk.pp.ua.log
stderr_logfile = /var/log/nginx/domains/itshnyk.pp.ua.error.log
redirect_stderr=true
stopsignal=INT