大多数可用教程显示如何使用上游HTTP服务器(如NGINX)设置uWSGI。但是uWSGI单独可以作为路由器/代理/负载平衡器的精美行为 - 请参阅this 对于我的项目,此刻我不想设置NGINX,所以我开始探索通过uWSGI提供网页的选项。这里的答案显示了如何使用Pyramid进行设置。将uWSGI设置为带有金字塔的网络服务器(无NGINX)
5
A
回答
10
我正在使用pyramid_mongodb脚手架,我已修改它以使其在python3上工作。有关详细信息,请参阅here。 假设我们有一个金字塔项目(使用pcreate -s pyramid_mongodb MyProject
创建)。 以下是开发/ 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配置,因为我们使用uWSGI我们可以注释掉从INI
#[server:main]
#use = egg:waitress#main
#host = 0.0.0.0
#port = 6544
server
部分运行服务器使用 uwsgi --ini-paste development.ini
2
更容易!不需要修改所有“development.ini”文件。 在应用中创建文件夹,您的“发展”和“生产”的ini文件所在,一个名为“wsgi.app”有以下内容的文件:
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”与它的内容:
[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的“/路径/到/ usr/sbin目录/ nginx的-s刷新”
- 启动uwsgi过程 - >更改为 “CD /usr/local/uwsgi-2.0.9” - > ./uwsgi -ini /var/www/myapp.conf
相关问题
- 1. 如何配置金字塔+ uWSGI + SQLAlchemy的
- 2. 金字塔pserve服务器为https
- 3. (nginx + uwsgi + django)。 nginx的服务器不允许请求打uwsgi服务器
- 4. 帮助设置django的nginx + fastcgi网络服务器
- 5. 多线程requests.post使用uWSGI,金字塔
- 6. 如何确保与uWSGI和金字塔
- 7. 将uWSGI HTTP服务器转换为Nginx的后台
- 8. 通过Nginx的uwsgi + django - uwsgi设置/ spawn?
- 9. 如何在使用同一个网络服务器的PHP网站前放置金字塔?
- 10. 如何在金字塔内设置消息/通知服务?
- 11. Django后面uwsgi + nginx无法设置cookie
- 12. Django + Nginx + uWSGI:内部服务器错误
- 13. Rails框架&Nginx网络服务器
- 14. 如何设置Apache网络服务器
- 15. 设置tomcat个人网络服务器
- 16. PHP服务器网络用户设置
- 17. 金字塔服务器没有提供Flash文件
- 18. Nginx的网络服务器无法不启动本地主机
- 19. Python金字塔PServe拒绝服务
- 20. 金字塔gunicorn和女服务员
- 21. 具有一个IP的多个网站:使用代理服务器和代理缓存(flask,uwsgi,nginx)的设置
- 22. 在windows上设置mod_wsgi和金字塔
- 23. 如何使用带有Nginx的uWSGI FastRouter?
- 24. 为网络设置闪亮的服务器
- 25. 当我设置nginx + django服务时,uwsgi无法加载应用程序
- 26. 无法通过网络服务器使用网络服务
- 27. ImportError:没有名为mysite.wsgi的模块 - uwsgi和nginx设置
- 28. vmware上的金字塔服务器响应非常缓慢
- 29. 设置量角器的网络驱动器/硒服务器
- 30. 最容易为Windows设置本地网络服务器
本例中的NGINX部分仅为(可选)。但在这一点上,应用程序应该能够在http://127.0.0.1:3053上收听请求 – SmileMZ 2015-05-14 10:24:18