gunicorn django nginx多站点 pyvenv virutalvenv python 3 django 2这些限制下,如何让uwsgi跑起来?

简介: 昨天测试的是uwsgi, 为了能运行在alphine的docker上面, (听说uwsgi正在改进不是基于于gcc库的应用), 改进一下gunicorn的配置.

昨天测试的是uwsgi,

为了能运行在alphine的docker上面,

(听说uwsgi正在改进不是基于于gcc库的应用),

改进一下gunicorn的配置,来实现跟昨天同样的多站点配置。

其实,在配置gunicorn时,它本身的配置不用变,

只要更改nginx为其增加多一级目录即可。


gunicorn.conf



bind = "0.0.0.0:9090"
workers = 12  #workers是工作线程数,一般设置成:2 * 服务器CPU个数 + 1
errorlog = '/var/log/xxx/gunicorn.error.log'
accesslog = '/var/log/xxx/gunicorn.access.log'
#loglevel = 'debug'
#proc_name = 'gunicorn_xxx'

nginx.conf



upstream xxx_host {
    server ip:9090;
}

server {
        listen       80;
        server_name  localhost;
       
        location /prism/ {
            # include  uwsgi_params;  #注释这两行为uwsgi
            # uwsgi_pass  xxx_host;  #多目录实现在uwsgi配置
            proxy_pass    http://xxx_host; #注意有http哟
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header SCRIPT_NAME /xxx; #这种就可以凭空多一级目录
            proxy_set_header REMOTE_USER $remote_user;
            proxy_set_header X-Forwarded-Proto $scheme;

            client_max_body_size          1000m;
            client_body_timeout           5m;
            proxy_connect_timeout         5m;
            proxy_read_timeout            5m;
            proxy_send_timeout            5m;
        }
    }


以如下方式运行,指定配置文个,wsgi文件位置,优化速度时,可以考虑用-k指定运行模式( gevent, gaihttp,pthread,torado....):

gunicorn -c gunicorn.conf settings.wsgi

目录
相关文章
|
负载均衡 应用服务中间件 nginx
Django通过Nginx和uWSGI实现负载均衡
Django通过Nginx和uWSGI实现负载均衡
199 0
|
1月前
|
中间件 应用服务中间件 nginx
Nginx+uWSGI+Django原理
Nginx+uWSGI+Django原理
|
1月前
|
监控 应用服务中间件 网络安全
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
105 0
|
2月前
|
监控 应用服务中间件 nginx
nginx+uwsgi+flask
nginx+uwsgi+flask
|
3月前
|
负载均衡 应用服务中间件 网络安全
Django后端架构开发:Nginx服务优化实践
Django后端架构开发:Nginx服务优化实践
58 2
|
3月前
|
应用服务中间件 Linux 测试技术
Nginx+uWSGI
【8月更文挑战第22天】
40 6
|
3月前
|
网络协议 Unix 应用服务中间件
Nginx七层(应用层)反向代理:UWSGI代理uwsgi_pass篇
Nginx七层(应用层)反向代理:UWSGI代理uwsgi_pass篇
197 1
|
3月前
|
关系型数据库 应用服务中间件 数据库
如何安装和配置 Django 与 Postgres、Nginx 和 Gunicorn
如何安装和配置 Django 与 Postgres、Nginx 和 Gunicorn
39 0
|
6月前
|
监控 Python
什么是WSGI,uwsgi和gunicorn在Python Web部署中起到什么作用?
**WSGI**是Python Web应用与服务器间的标准接口。**uwsgi**是实现WSGI的服务器,用于在不同服务器上高效部署应用。**gunicorn**是高性能的WSGI服务器,提供易用接口和进程管理功能。两者协同工作,作为桥梁连接应用与服务器,支持高并发和生产环境部署,提升性能和可靠性。配置因应用和环境而异,需按需调整。
217 2
|
11月前
|
前端开发 应用服务中间件 Shell
django(三)django配置支持nginx访问
我正在参加「掘金·启航计划」 VUE3.0版本发布,按照之前的计划,博客前端的页面打算使用VUE3.0重新编写。目前后端使用的是PHP的web框架thinkphp5.0,新版的博客后端打算使用python的web框架django。 目前我的服务器使用的环境是lnmp(centos+nginx+mariadb+php),因此运行django框架的时候,我选择使用nginx + uwsgi 我的服务器使用的是阿里云的centos7.8 运行原理如下图所示: 一:技术扩展WSGI WSGI 是 Web Server Gateway Interface 的缩写。以层的角度来看,WSGI 所在层的位置低
67 0