08-10-2018, 09:11
(Последний раз сообщение было отредактировано 09-01-2019, 15:01 пользователем Ruslan.)
centos 6.8 (обновление версии 7.5.9)
Пока сделано частично:
# pip install -r /var/www/www/requirements.txt
# pip install --upgrade git+https://github.com/sokolovs/django-piston.git
Подготовим БД для перехода на новую версию АСИОУ:
Код:
Далее - изменение параметров запуска сервера приложений. Ставим uwsgi и модуль python
создаем файл, с расширением ini в каталоге /etc/uwsgi.d/asiou.ini
Настройки nginx.
Файл /etc/nginx/uwsgi_params
Файл /etc/nginx/conf.d/asiou_vhost.conf
шаманство с uwsgi - и все заработало. на nginx
Дополнительно: если поставили виртуальное окружение, то все команды, начинающиеся с python вводим под пользователем asiou (или тем, где стоит виртуальное окружение)
bash-4.1$ cd
bash-4.1$ source .venv/asiou_venv/bin/activate
(asiou_venv) bash-4.1$ cd /home/asiou/www
(asiou_venv) bash-4.1$ python -W ignore manage.py migrate asiou --fake
Пока сделано частично:
# pip install -r /var/www/www/requirements.txt
# pip install --upgrade git+https://github.com/sokolovs/django-piston.git
Подготовим БД для перехода на новую версию АСИОУ:
Код:
Код:
# mysql -uasiouser -p asiou_prod < /var/www/sql/django_migrations.sql
# cd /var/www
# python -W ignore manage.py migrate asiou --fake
Далее - изменение параметров запуска сервера приложений. Ставим uwsgi и модуль python
Код:
# yum install uwsgi
# yum install uwsgi-plugin-python2
создаем файл, с расширением ini в каталоге /etc/uwsgi.d/asiou.ini
Код:
[uwsgi]
# Настройки, связанные с Django
# Корневая папка проекта (полный путь)
uid = asiou
gid = asiou
chdir = /home/asiou/www/
# Django wsgi файл
wsgi-file = /home/asiou/www/wsgi.py
# полный путь к виртуальному окружению
virtualenv = /home/asiou/.venv/asiou_venv
# общие настройки
# master
master = true
protocol = uwsgi
# максимальное количество процессов
processes = 10
# полный путь к файлу сокета
socket = /var/run/asiou.sock
plugins = python
chown-socket = nginx:nginx
chmod-socket = 660
# очищать окружение от служебных файлов uwsgi по завершению
vacuum = true
Настройки nginx.
Файл /etc/nginx/uwsgi_params
Код:
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
Файл /etc/nginx/conf.d/asiou_vhost.conf
Код:
upstream django_aisdou {
server unix:///var/run/asiou.sock fail_timeout=0;
}
# конфигурация веб-сервера
server {
proxy_read_timeout 3600;
proxy_send_timeout 3600;
uwsgi_send_timeout 3600;
uwsgi_read_timeout 3600;
error_log /var/log/nginx/asiou111_error.log;
access_log /var/log/nginx/asiou111_access.log;
server_tokens off;
# порт, который будет слушать веб-сервер в ожидании запросов от пользователй
listen 80;
# доменное имя
server_name _; # замените на собственный домен или IP адрес
charset utf-8;
# максимальный размер загружаемых на сервер данных
client_max_body_size 75M;
location /static {
alias /home/asiou/www/static;
# Gzip
gzip on;
gzip_min_length 8192;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "msie6";
}
location /media {
alias /home/aisdou/www/asiou/media;
}
location / {
# Maintenance mode
if (-f /home/asiou/mntnce/maintenance_on.html) {
return 503;
}
uwsgi_pass django_aisdou;
include /etc/nginx/uwsgi_params;
}
# Error page for maintenance mode
error_page 503 /maintenance_on.html;
location = /maintenance_on.html {
root /home/asiou/mntnce/;
}
}
шаманство с uwsgi - и все заработало. на nginx
Дополнительно: если поставили виртуальное окружение, то все команды, начинающиеся с python вводим под пользователем asiou (или тем, где стоит виртуальное окружение)
bash-4.1$ cd
bash-4.1$ source .venv/asiou_venv/bin/activate
(asiou_venv) bash-4.1$ cd /home/asiou/www
(asiou_venv) bash-4.1$ python -W ignore manage.py migrate asiou --fake