前言:
如今大家对“nginxuwsgi关系”大约比较关怀,小伙伴们都需要学习一些“nginxuwsgi关系”的相关文章。那么小编同时在网摘上搜集了一些有关“nginxuwsgi关系””的相关知识,希望咱们能喜欢,兄弟们快快来了解一下吧!我们平常用 python manage.py runserver 来运行服务器,来调试代码,但这只适用测试环境中使用。
生产环境中如何运行python web应用?
下面介绍nginx+uwsgi+virtualenv+django的架构搭建生产运行环境
组件介绍:
virtualenv:开发多个应用程序,用的组件版本不一样,会产生版本冲突,virtualenv可以用来为一个应用创建一套“隔离”的Python运行环境
uwsgi的作用:uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议,web框架致力于如何生成html代码,而web服务器用于处理和响应http请求,uwsgi也就是处理动态请求,uwsgi是服务器和服务端应用程序的通信协议,规定了怎么把请求转发给应用程序和返回
django:web框架
nginx:http静态服务器,处理静态文件css,html,img
一、安装python虚拟环境virtualenv
yum install python-pip
pip install —upgrade pip
pip install virtualenv
二、uwsgi
1.安装uwsgipip install uwsgiuwsgi —version # 查看 uwsgi 版本如果安装失败,可能缺少python头文件和静态文件yum install python-devel2.配置uwsgi启动参数
[uwsgi]# Django-related settings# Django项目本地端口socket = 127.0.0.1:9090# 项目根目录位置,pyops代表django项目chdir = /scripts/pyops# wsgi.py文件在项目的中的相对位置wsgi-file = /scripts/pyops/pyops/wsgi.pymodule =pyops.wsgi# 进程设置,无需变动# mastermaster = true# maximum number of worker processes# 启动4个uwsgi进程processes = 4# ... with appropriate permissions - may be needed# chmod-socket = 664# clear environment on exitvacuum = truepidfile=/var/run/uwsgi.piddaemonize = /tmp/uwsgi9090.log # 日志文件3.测试uwsgisource /scripts/env/pyops/bin/activate uwsgi —http :8088 —chdir /scripts/pyops/ —wsgi-file pyops/wsgi.py curl 可以测试浏览页面启动uwsgi,注意:要激活虚拟环境再启动uwsgi,否则uwsgi报错加载不了python库。如不成功看日志分析/tmp/uwsgi9090.log4.后台运行启动uwsgisource /scripts/env/pyops/bin/activateuwsgi —ini /etc/uwsgi/uwsgi9090.ini
三、nginx安装配置
1.nginx安装yum install nginx2.配置nginx for uwsgi
server{
listen 80;
server_name panxu.net;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090; # 和uwsgi的设置一样
}
}
注意:此种方法只需配两个参数即可include uwsgi_params,uwsgi_pass,其余配置在uwsgi.ini中配。
3.启动nginxservice nginx start4.访问:panxu.net
标签: #nginxuwsgi关系