文档章节

Nginx + uwsgi @ubuntu

袁祾
 袁祾
发布于 06/19 22:41
字数 636
阅读 6
收藏 0
点赞 0
评论 0

uwsgi

安装

sudo apt-get install python3-pip # 注意 ubuntu python3默认没有安装pip

python3 -m pip install uwsgi

代码(test.py)

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]

运行

常用选项

  1. http : 协议类型和端口号
  2. socket: 协议类型和端口号
  3. processes : 开启的进程数量
  4. workers : 开启的进程数量,等同于processes(官网的说法是spawn the specified number ofworkers / processes)
  5. chdir : 指定运行目录(chdir to specified directory before apps loading)
  6. wsgi-file : 载入wsgi-file(load .wsgi file)
  7. stats : 在指定的地址上,开启状态服务(enable the stats server on the specified address)
  8. threads : 运行线程。由于GIL的存在,我觉得这个真心没啥用。(run each worker in prethreaded mode with the specified number of threads)
  9. master : 允许主进程存在(enable master process)
  10. daemonize : 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(daemonize uWSGI)。实际上最常用的,还是把运行记录输出到一个本地文件上。
  11. pidfile : 指定pid文件的位置,记录主进程的pid号。
  12. vacuum : 当服务器退出的时候自动清理环境,删除unix socket文件和pid文件(try to remove all of the generated file/sockets)

命令行运行

# 配合Nginx ,需要用socket参数
uwsgi --socket :8080 --wsgi-file test.py

# 用于直接访问
uwsgi --http :8080 --wsgi-file test.py

Nginx

配置(/etc/nginx/nginx.conf & /etc/nginx/conf.d)

特别注意uwsgi_pass参数, 必须和uwsgi端口一致

server {
	# 这个server标识我要配置了
	listen 80; # 我要监听那个端口
	server_name www.gcsjj.cn ; # 你访问的路径前面的url名称 
	access_log /var/log/nginx/access.log main; # Nginx日志配置
	charset utf-8; # Nginx编码
	gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; # 支持压缩的类型

	error_page 404 /404.html; # 错误页面
	error_page 500 502 503 504 /50x.html; # 错误页面

	# 指定项目路径uwsgi
	location / { # 这个location就和咱们Django的url(r'^admin/', admin.site.urls),
    	include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的
    	uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间
    	uwsgi_pass 127.0.0.1:8080; # 指定uwsgi的端口
	}

# 指定静态文件路径
	location /static/ {
    	alias /opt/proj/teacher/static/;
    	index index.html index.htm;
	}
}

运行

# 重启Nginx
/etc/init.d/nginx restart
# 关闭&启动Nginx
/etc/init.d/nginx stop
/etc/init.d/nginx start
# 这里有个命令configtest,Nginx配置是重启生效的,如果你修改完了,不知道对    不对又担心影响其他人可以使用它测试
/etc/init.d/nginx configtest
# 如果是生产环境的话Nginx正在运行,就不要直接stop start 或者 restart  直接reload就行了
# 对线上影响最低
/etc/init.d/nginx reload

© 著作权归作者所有

共有 人打赏支持
袁祾

袁祾

粉丝 4
博文 28
码字总数 9481
作品 0
成都
程序员
Ubuntu 下面部署Django 项目

django 是 python 开源的 web 框架 ,django 本身运行后也是一个轻量级的服务器,可以满足本地的测试,生产环境中的 大量访问, 一般和nginx 和 apache 结合。下面以 Django 与nginx 结合为例...

水滴石川1
06/26
0
0
ubuntu12.04 python2.7.3+uwsgi+nginx

通过自己的不断坚持的努力,终于找到了这个解决方案 因为我的是ubuntu12.04 所以python的版本默认是2.7.3 nginx是通过sudo apt-get isntall nginx安装的 uwsgi也是通过sudo apt-get install ...

durban
2012/05/20
0
4
ubuntu14.04+Django1.7.1+nginx1.6+uwsgi2.0环境搭建

ubuntu下安装django1.7.1先安装pip sudo apt-get install pip 使用pip安装django sudo pip install Django (或者下载官方最新的django包,解压后执行sudo python setup.py install) 安装完...

niceguy_php
2014/12/22
0
0
nginx+uwsgi+flask环境搭建

想自己搭建一个Blog,功能不是很复杂,所以选用了python的flask框架,在参照网上的资料搭出Hello World之后将知识汇总一下,以便以后查看。 系统:Ubuntu 14.04 首先安装flask,nginx,pip(方...

L很失败L
2015/08/08
0
2
nginx连接uwsgi使用web.py框架构造pythonweb项目

相关页面: http://webpy.org/install http://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html http://projects.unbit.it/uwsgi/wiki/Example uwsgi的安装需要python-devel,可以......

跬步
2013/05/13
0
0
nginx+uwsgi+flask配置记录

nginx部分: nginx使用nginx官方yum源 详情:http://nginx.org/en/download.html nginx的配置文件: server { access_log /var/log/nginx/iday.me.access.log main; include uwsgi_params; ......

Risol
2012/08/03
0
4
nginx + uwsgi + django + python 部署

这里总结一下 安装什么的就不说了,重点说一下配置和注意的问题: 我的项目目录/home/charles/mysite/mysite 和项目目录平级的还有/home/charles/mysite/uwsgi 首先配置uwsgi,所有的uwsgi的...

charlesdong1989
2013/05/03
0
2
python + django + bootstrap + uWSGI + nginx 环境搭建

原文:http://www.huangdc.com/103 在了解 uWSGI 之前,我们不妨先了解一下 python http服务器? 要使 Python 写的程序能在 Web 上被访问,还需要搭建一个支持 Python 的 HTTP 服务器,列举几...

dchuang
2015/07/19
0
0
Django + Uwagi + Nginx部署,亲自实验

Django + Uwsgi + Nginx 的生产环境部署 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态...

静水大智
2017/10/28
0
0
Nginx + uWSGI + Flask + Vhost

1.准备工作: 先装好nginx virtualenv flask uwsgi等。 nginx配置路径/etc/nginx virtualenv路径 /opt/pyenv/ 装有flask的一个env /opt/pyenv/flask0.8/ 两个虚拟主机目录 /var/pywww/app1 ...

lanybass
2012/06/11
0
9

没有更多内容

加载失败,请刷新页面

加载更多

下一页

www.w3.org被qiang导致logback报错:Connect reset

web项目部署到tomcat后,web项目中的logback不能运行,报错信息如下: Reported exception: ch.qos.logback.core.joran.spi.JoranException: I/O error occurred while parsing xml file......

浮躁的码农
15分钟前
0
0
JDeveloper中文乱码解决

全局设置字体; 全局设置环境编码; 项目设置编译器环境编码。

wffger
43分钟前
1
0
MySQL主从介绍 , 准备工作,配置主,配置从, 测试主从同步

MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启bin...

TaoXu
今天
1
0
线性代数学习总结

亭子happy
今天
1
0
Java8:Lambda表达式增强版Comparator和排序

1、概述 在这篇教程里,我们将要去了解下即将到来的JDK 8(译注,现在JDK 8已经发布了)中的Lambda表达式——特别是怎样使用它来编写Comparator和对集合(Collection)进行排序。 这篇文章是...

孟飞阳
今天
0
0
从架构到组件,深挖istio如何连接、管理和保护微服务2.0?

近几年我一直从事于微服务系统的设计以及实现方面的工作,属于微服务架构一线实践者。之前做过一些单体系统的微服务改造,在微服务拆分、治理等方面都有一定的经验。 本人比较特殊一点的经历...

xiaomin0322
今天
1
0
基于vue的h5文件切片上传(获取文件md5,实现秒传、进度条实现)

template <button @click="file"></button><label ref="upload" style="position: relative;"> <input type="file" @change="selectFile" style="position: abs......

hkaikai
今天
1
0
Spring Boot 2.0 项目实现自同步AD域账号

在通过Spring Boot的自动化装配功能及JDK自带的LDAP模块,可通过如下几个简单步骤实现业务系统自动同步AD域账号功能。 1. Java自带ldap搜索域账号信息核心代码: try { LdapContext ctx...

B超
今天
1
0
Python----字符串中编码的问题

字符串中编码的问题 1、字符串前加 u 例:u"我是含有中文字符组成的字符串。" 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用...

android-key
今天
1
0
Tomcat8.0 + Redis 实现 Session 会话共享

由于项目需要,需要实现Tomcat8.0 + Redis 实现 Session 会话共享,以便于实现多应用集群。后参考了开源项目: https://github.com/jcoleman/tomcat-redis-session-manager 进行调整后实现该...

杨应滨
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部