अधिकांश उपलब्ध ट्यूटोरियल दिखाते हैं कि अपस्ट्रीम HTTP सर्वर (जैसे एनजीआईएनएक्स) के साथ यूडब्ल्यूएसजीआई कैसे स्थापित करें। लेकिन uWSGI अकेले राउटर/प्रॉक्सी/लोड-बैलेंसर के रूप में खूबसूरती से कार्य कर सकता है - this देखें मेरे प्रोजेक्ट के लिए, मैं इस समय एनजीआईएनएक्स स्थापित नहीं करना चाहता था इसलिए मैंने यूडब्ल्यूएसजीआई के माध्यम से वेबपृष्ठों की सेवा करने के विकल्प की खोज शुरू कर दी। यहां जवाब दिखाता है कि इसे पिरामिड के साथ कैसे सेट अप करें।यूडब्ल्यूएसजीआई को पिरामिड (कोई एनजीआईएनएक्स) के साथ वेबसर्वर के रूप में सेट करें
उत्तर
मैं pyramid_mongodb मचान का उपयोग कर रहा हूं, जिसे मैंने इसे python3 पर काम करने के लिए संशोधित किया है। विवरण के लिए here देखें। मान लीजिए कि हमारे पास एक पिरामिड प्रोजेक्ट है (pcreate -s pyramid_mongodb MyProject
के साथ बनाया गया)। यहाँ uWSGI विकास/production.ini
[uwsgi]
http = 0.0.0.0:8080
#http-to /tmp/uwsgi.sock - use this for standalone mode
#socket = :9050
master = true
processes = 2
harakiri = 60
harakiri-verbose = true
limit-post = 65536
post-buffering = 8192
daemonize = ./uwsgi.log
pidfile = ./orange_uwsgi.pid
listen = 128
max-requests = 1000
reload-on-as = 128
reload-on-rss = 96
no-orphans = true
#logto= <log file>
log-slow = true
virtualenv = <path to virtual environment>
#file = /path/to/pyramid.wsgi
#callable = application
need-app = true
इसके अलावा में आवश्यक विन्यास कर रहे हैं क्योंकि हम uWSGI उपयोग कर रहे हैं हम आरं
#[server:main]
#use = egg:waitress#main
#host = 0.0.0.0
#port = 6544
से server
भाग बाहर टिप्पणी कर सकते हैं सर्वर का उपयोग uwsgi --ini-paste development.ini
अधिक आसान! सभी "development.ini" फ़ाइल में संशोधित करने की आवश्यकता नहीं है।
from pyramid.paster import get_app,setup_logging
ini_path = '/pathto/myapp/development.ini'
setup_logging(ini_path)
application = get_app(ini_path,'main')
बनाने के कहते हैं कि "myapp.conf" यह सामग्री दी गई है साथ करते हैं: जहां अपने "विकास" और "उत्पादन" INI फ़ाइलों रहते हैं, एक फ़ाइल में निम्न सामग्री के साथ "wsgi.app" कहा जाता है अनुप्रयोग फ़ोल्डर में बनाएं :
[uwsgi]
socket = 127.0.0.1:3053
uid = daemon
gid = daemon
venv = /pathto/myenv
project_dir = /pathto/myapp
chdir = %(project_dir)
master = true
plugins = plugins/python/python
check-static = %(project_dir)
static-skip-ext = .py
static-skip-ext = .pyc
static-skip-ext = .inc
static-skip-ext = .tpl
pidfile2 = /var/run/uwsgi/myinfo.pid
disable-logging = true
processes = 8
cheaper = 2
enable-threads = true
offload-threads = N
py-autoreload = 1
wsgi-file = /pathto/myapp/wsgi.py
और nginx configuation बहुत सरल है: के साथ
server {
listen [xxxx:xxxx:xxxx:xxx:xxxx:xxxx]:80; #for IPv6
listen xxx.xxx.xxx.xxx:80; #for IPv4
server_name myapp.domain.com;
location/{
try_files $uri @uwsgi;
}
location @uwsgi {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3053;
}
}
- पुनः आरंभ nginx "/ path/to/usr/sbin/nginx -s को फिर से लोड " uwsgi प्रक्रिया शुरू
- -> करने के लिए परिवर्तन" सीडी /usr/local/uwsgi-2.0.9 "-> ./uwsgi -ini /var/www/myapp.conf
- 1. डीजेंगो यूडब्ल्यूएसजीआई एनजीआईएनएक्स खराब अनुरोध 400
- 2. एनजीआईएनएक्स
- 3. सुरक्षा के साथ एक आरईएसटी वेबसर्वर बनाना
- 4. एनजीआईएनएक्स कॉन्फ़िगरेशन में कोई एक्सटेंशन वाले फ़ाइलों के mimetype को कैसे निर्दिष्ट करें?
- 5. पिरामिड: पिरामिड/पायथन में PHP फ्रेमवर्क में एमवीसी के बराबर?
- 6. एनजीआईएनएक्स
- 7. एनजीआईएनएक्स
- 8. अतिरिक्त क्वेरी तर्कों के साथ पिरामिड रूट_यूआरएल
- 9. गो (गोलांग) वेबसाइसेस के लिए वेबसर्वर: एनजीआईएनएक्स का उपयोग करना या नहीं?
- 10. Jetty6 वेबसर्वर के साथ काम करने के लिए nginx को कॉन्फ़िगर कैसे करें?
- 11. daemontools के साथ एक वेबसर्वर की निगरानी कैसे करें?
- 12. विकास वेबसर्वर उत्पादन वेबसर्वर के करीब कितने करीब हैं?
- 13. कैसे प्रोग्राम के रूप में (कोई EditText के साथ)
- 14. पिरामिड और socket.io के साथ Websockets का उपयोग कैसे करें?
- 15. पिरामिड
- 16. एनजीआईएनएक्स
- 17. पिरामिड
- 18. पिरामिड
- 19. वेबसर्वर
- 20. फ्लास्क डीबग = यूडब्ल्यूएसजीआई
- 21. पिरामिड
- 22. जावा 8 में मान के रूप में सेट के साथ सेट में मानचित्र को कैसे परिवर्तित करें?
- 23. एनजीआईएनएक्स send_file
- 24. अपाचे कॉन्फ़िगर को एनजीआईएनएक्स
- 25. पिरामिड
- 26. फ़ाइल को वेबसर्वर
- 27. पिरामिड
- 28. पिरामिड
- 29. एसक्यूएल के साथ कॉलम के संयोजन को कैसे सेट करें?
- 30. पिरामिड
इस मामले में एनजीआईएनएक्स हिस्सा केवल (वैकल्पिक) है। लेकिन इस बिंदु पर आवेदन http://127.0.0.1:3053 पर अनुरोधों को सुनने में सक्षम होना चाहिए – SmileMZ