Запустите uwsgi вручную с python3.6 и python2 и django 2 - PullRequest
0 голосов
/ 29 мая 2019

Я только начал использовать uWSGI и Django. Я хочу вызвать его вручную. Я использую python36, Django 2, и если я устанавливаю uWSGI (pip install uwsgi) в venv, и все в порядке.

Q1. При использовании вне venv я впервые установил uWSGI:

pip install uwsgi -> версия 2.0.18

Установленных плагинов: sudo apt-get install python3-setuptools

Попытка запустить с python36:

uwsgi --plugin-dir=/usr/lib/uwsgi/plugins --plugin python3 --master --http :5000 --home ~/my_playground/webapps/ --chdir ~/my_playground/webapps/p_tscze/ --module p_tscze.wsgi:application

Плагины в /usr/lib/uwsgi/plugins:

/usr/lib/uwsgi/plugins$ ls | grep python3
asyncio_python36_plugin.so
asyncio_python3_plugin.so
python36_plugin.so
python3_plugin.so

Результат получен -> note python 2.7:

!!! UNABLE to load uWSGI plugin: ./python36_plugin.so: undefined symbol: uwsgi_legion_scrolls !!!
*** Starting uWSGI 2.0.18 (64bit) on [Wed May 29 18:04:24 2019] ***
compiled with version: 7.4.0 on 29 May 2019 15:30:14
os: Linux-4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019
nodename: start-tehnicka
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 1
current working directory: /usr/lib/uwsgi/plugins
detected binary path: /usr/local/bin/uwsgi
chdir() to /home/anel/my_playground/webapps/p_tscze/
your processes number limit is 3618
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uWSGI http bound on :5000 fd 4
uwsgi socket 0 bound to TCP address 127.0.0.1:34279 (port auto-assigned) fd 3
Python version: 2.7.15rc1 (default, Nov 12 2018, 14:31:15)  [GCC 7.3.0]
Set PythonHome to /home/anel/my_playground/webapps/
ImportError: No module named site

Так, пожалуйста, дайте мне знать, что я делаю не так?

Q2. При сравнении результата страницы администратора (./manage.py runserver) и результата, полученного с помощью uwsgi, интерфейс не совпадает, почему?

Заранее спасибо

1 Ответ

0 голосов
/ 29 мая 2019

Для будущих ссылок:

wget https://projects.unbit.it/downloads/uwsgi-2.0.18.tar.gz
tar -xzvf uwsgi-2.0.18.tar.gz
cd uwsgi-2.0.18
python3 uwsgiconfig.py --build nolang #build binary with python3
python3 uwsgiconfig.py --plugin plugins/python nolang python36 # create a new binary

Запустить вновь созданный двоичный файл uwsgi (мы можем связать этот двоичный файл):

./uwsgi  --plugin-dir=/home/anel/uwsgi-2.0.18 --plugin python36 --master --http :5000 --home ~/my_playground/webapps/  --chdir ~/my_playground/webapps/p_tscze/ --module p_tscze.wsgi:application 
...