2013-04-28 4 views
12

मैंने यूवीजीआई को बनाने के साथ संकलित किया और यह सफलतापूर्वक किया गया, और अब मैं अपनी django1.5 साइट को python3.3 के साथ चलाने का फैसला करता हूं। मैं दस्तावेज़ (http://projects.unbit.it/uwsgi/wiki/Guide4Packagers) के लिए जाँच की और के माध्यम से python3.3 विकास हेडर सेट कर लेते हैं apt-get और उसके बाद से प्लगइन संकलन:uwsgi python3 प्लगइन काम नहीं करता

python3.3 uwsgiconfig.py --plugin plugins/अजगर पैकेज python33

तो यह कहते हैं:

using profile: buildconf/package.ini 
detected include path: ['/usr/lib/gcc/i686-linux-gnu/4.7/include', '/usr/local/include','/usr/lib/gcc/i686-linux-gnu/4.7/include-fixed', '/usr/include/i386-linux-gnu', '/usr/include'] 
*** uWSGI building and linking plugin plugins/python *** 
[i686-linux-gnu-gcc -pthread] /usr/lib/uwsgi/python33_plugin.so 
*** python33 plugin built and available in /usr/lib/uwsgi/python33_plugin.so *** 

यह सब अच्छी तरह से किया जाता है लगता है और मुझे लगता है कि निर्देशिका में python33_plugin.so पाते हैं। ,

[uwsgi] 
socket=0.0.0.0:8000 
listen=20 
master=true 
pidfile=/usr/local/nginx/uwsgi.pid 
processes=2 
plugins=python33 
module=django_wsgi 
pythonpath= 
profiler=true 
memory-report=true 
enable-threads=true 
logdate=true 
limit-as=6048 

और जब मैं चलाने "sudo ./uwsgi uwsgi.ini"

[uWSGI] getting INI configuration from uwsgi.ini 
open("./python33_plugin.so"): No such file or directory [core/utils.c line 3347] 
!!! UNABLE to load uWSGI plugin: ./python33_plugin.so: cannot open shared object file: No such file or directory !!! 

यह नहीं मिल रहा है: nginx चल रहा है और ठीक है, अब मेरी uwsgi INI फ़ाइल इस तरह है .so तो file.anyway मैं uwsgi निर्देशिका के लिए .so फ़ाइल की प्रतिलिपि, और फिर से चलाने के लिए,

[uWSGI] getting INI configuration from uwsgi.ini 
Sun Apr 28 22:54:40 2013 - *** Starting uWSGI 1.9.8 (32bit) on [Sun Apr 28 22:54:40 2013] *** 
Sun Apr 28 22:54:40 2013 - compiled with version: 4.7.3 on 28 April 2013 21:25:27 
Sun Apr 28 22:54:40 2013 - os: Linux-3.8.0-19-generiC#29-Ubuntu SMP Wed Apr 17 18:19:42 UTC 2013 
Sun Apr 28 22:54:40 2013 - nodename: bill-Rev-1-0 
Sun Apr 28 22:54:40 2013 - machine: i686 
Sun Apr 28 22:54:40 2013 - clock source: unix 
Sun Apr 28 22:54:40 2013 - pcre jit disabled 
Sun Apr 28 22:54:40 2013 - detected number of CPU cores: 4 
Sun Apr 28 22:54:40 2013 - current working directory: /media/bill/cloud/cloud/program/kkblog/kkblog 
Sun Apr 28 22:54:40 2013 - writing pidfile to /usr/local/nginx/uwsgi.pid 
Sun Apr 28 22:54:40 2013 - detected binary path: /usr/sbin/uwsgi 
Sun Apr 28 22:54:40 2013 - uWSGI running as root, you can use --uid/--gid/--chroot options 
Sun Apr 28 22:54:40 2013 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
Sun Apr 28 22:54:40 2013 - your processes number limit is 31552 
Sun Apr 28 22:54:40 2013 - limiting address space of processes... 
Sun Apr 28 22:54:40 2013 - your process address space limit is 2046820352 bytes (1952 MB) 
Sun Apr 28 22:54:40 2013 - your memory page size is 4096 bytes 
Sun Apr 28 22:54:40 2013 - detected max file descriptor number: 1024 
Sun Apr 28 22:54:40 2013 - lock engine: pthread robust mutexes 
Sun Apr 28 22:54:40 2013 - uwsgi socket 0 bound to TCP address 0.0.0.0:8000 fd 3 
Sun Apr 28 22:54:40 2013 - Python version: 2.7.4 (default, Apr 19 2013, 18:35:44) [GCC 4.7.3] 
Sun Apr 28 22:54:40 2013 - Python main interpreter initialized at 0x973e2d0 
Sun Apr 28 22:54:40 2013 - python threads support enabled 

मैं ubuntu 13.04 और python2.7 और python3.3 उपयोग कर रहा हूँ पहले से इंस्टॉल कर रहे हैं।

मैं पायथन 33 प्लगइन सेट करता हूं लेकिन यूवीजीआई अभी भी पायथन 2.7 लॉन्च करता है, क्यों?

कोई भी जो इस समस्या को कभी पूरा करता है? और जिस तरह से मैं apw-get के माध्यम से uwsgi और प्लगइन्स सेट अप करना पसंद नहीं करता, क्योंकि यह किसी भी PaaS पर काम नहीं करेगा।

धन्यवाद!

उत्तर

11

आपने पाइथन 2.7 एम्बेडेड के साथ एक मोनोलिथिक यूडब्ल्यूएसजीआई बाइनरी बनाई है ताकि प्लगइन मेमोरी के उस क्षेत्र को ओवरराइट नहीं कर सके। आप का उपयोग कर एक सरल अखंड python3 द्विआधारी निर्माण कर सकते हैं:

python3 uwsgiconfig.py --build 

या python3

नहीं तो आप के साथ एक पूरी तरह से मॉड्यूलर प्रणाली का निर्माण कर सकते हैं के लिए पिप का उपयोग कर:

python uwsgiconfig.py --build core 
python uwsgiconfig.py --plugin plugins/python core python27 
python3 uwsgiconfig.py --plugin plugins/python core python33