django를 작동시키려고 하는데 uwsgi에서 아무것도 로드하는 데 문제가 있습니다. 나의 무지 때문일 가능성이 크다. 문제 해결에 도움이 되었으면 합니다. 나는 스택 교환에 대한 유사한 게시물을 살펴봤지만 그 중 어느 것도 도움이 되지 않았습니다. 모두 매우 구체적입니다.
/etc/uwsgi/
구성 파일 .ini
과 포트에서 호스팅 .py
하려는 파일이 있습니다 .uwsgi
2929
존재하다 /etc/uwsgi/test.ini
:
[uwsgi]
socket=127.0.0.1:2929
plugin=python
wsgi-file=/etc/uwsgi/test.py
master=True
존재하다 /etc/uwsgi/test.py
:
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
이제 /etc/nginx/sites/test.conf
nginx를 활성화하고 로드합니다.
upstream test_uwsgi{
server 127.0.0.1:2929;
}
server{
listen 80;
server_name test.example.com;
location / {
include uwsgi_params;
uwsgi_pass test_uwsgi;
}
}
노트:저는 아치 리눅스를 사용하고 있습니다.
재부팅하고 uwsgi를 사용하기 nginx
시작했습니다 test.ini
.
systemctl restart nginx
systemctl start uwsgi@test
둘 다 오류 없이 성공적으로 실행/활성화되었습니다. 서비스의 로그/로그를 확인할 때[이메일 보호됨]:
Sep 30 11:29:23 Nexus systemd[1]: Starting uWSGI service unit...
Sep 30 11:29:23 Nexus uwsgi[576]: [uWSGI] getting INI configuration from /etc/uwsgi/test.ini
Sep 30 11:29:23 Nexus uwsgi[576]: *** Starting uWSGI 2.0.13.1 (64bit) on [Fri Sep 30 11:29:23 2016] ***
Sep 30 11:29:23 Nexus uwsgi[576]: compiled with version: 6.1.1 20160501 on 01 June 2016 05:45:41
Sep 30 11:29:23 Nexus uwsgi[576]: os: Linux-4.7.2-1-ARCH #1 SMP PREEMPT Sat Aug 20 23:02:56 CEST 2016
Sep 30 11:29:23 Nexus uwsgi[576]: nodename: Nexus
Sep 30 11:29:23 Nexus uwsgi[576]: machine: x86_64
Sep 30 11:29:23 Nexus uwsgi[576]: clock source: unix
Sep 30 11:29:23 Nexus uwsgi[576]: pcre jit disabled
Sep 30 11:29:23 Nexus uwsgi[576]: detected number of CPU cores: 4
Sep 30 11:29:23 Nexus uwsgi[576]: current working directory: /
Sep 30 11:29:23 Nexus uwsgi[576]: detected binary path: /usr/bin/uwsgi
Sep 30 11:29:23 Nexus uwsgi[576]: uWSGI running as root, you can use --uid/--gid/--chroot options
Sep 30 11:29:23 Nexus uwsgi[576]: *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Sep 30 11:29:23 Nexus uwsgi[576]: your processes number limit is 28969
Sep 30 11:29:23 Nexus uwsgi[576]: your memory page size is 4096 bytes
Sep 30 11:29:23 Nexus uwsgi[576]: detected max file descriptor number: 1024
Sep 30 11:29:23 Nexus uwsgi[576]: lock engine: pthread robust mutexes
Sep 30 11:29:23 Nexus uwsgi[576]: thunder lock: disabled (you can enable it with --thunder-lock)
Sep 30 11:29:23 Nexus uwsgi[576]: uwsgi socket 0 bound to TCP address 127.0.0.1:2929 fd 4
Sep 30 11:29:23 Nexus uwsgi[576]: Python version: 3.5.2 (default, Jun 28 2016, 08:46:01) [GCC 6.1.1 20160602]
Sep 30 11:29:23 Nexus uwsgi[576]: *** Python threads support is disabled. You can enable it with --enable-threads ***
Sep 30 11:29:23 Nexus uwsgi[576]: Python main interpreter initialized at 0xcbfb40
Sep 30 11:29:23 Nexus uwsgi[576]: your server socket listen backlog is limited to 100 connections
Sep 30 11:29:23 Nexus uwsgi[576]: your mercy for graceful operations on workers is 60 seconds
Sep 30 11:29:23 Nexus uwsgi[576]: mapped 145536 bytes (142 KB) for 1 cores
Sep 30 11:29:23 Nexus uwsgi[576]: *** Operational MODE: single process ***
Sep 30 11:29:23 Nexus uwsgi[576]: unable to find "application" callable in file /etc/uwsgi/test.py
Sep 30 11:29:23 Nexus uwsgi[576]: unable to load app 0 (mountpoint='') (callable not found or import error)
Sep 30 11:29:23 Nexus uwsgi[576]: *** no app loaded. going in full dynamic mode ***
Sep 30 11:29:23 Nexus uwsgi[576]: *** uWSGI is running in multiple interpreter mode ***
Sep 30 11:29:23 Nexus uwsgi[576]: spawned uWSGI master process (pid: 576)
Sep 30 11:29:23 Nexus uwsgi[576]: spawned uWSGI worker 1 (pid: 590, cores: 1)
Sep 30 11:29:23 Nexus systemd[1]: Started uWSGI service unit.
Sep 30 11:29:26 Nexus uwsgi[576]: -- unavailable modifier requested: 14 --
Sep 30 11:29:26 Nexus uwsgi[576]: -- unavailable modifier requested: 14 --
내 생각에 전체 로그의 주요 내용은 다음과 같습니다.
*** no app loaded. going in full dynamic mode ***
UWSGI가 Python 파일을 찾을 수 없습니까?
어떻게 작동하게 할 수 있나요?
어떤 도움이라도 대단히 감사하겠습니다!