文档章节

Nginx + uwsgi @ubuntu

袁祾
 袁祾
发布于 06/19 22:41
字数 636
阅读 10
收藏 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

© 著作权归作者所有

共有 人打赏支持
下一篇: Nginx @ubuntu
袁祾

袁祾

粉丝 5
博文 28
码字总数 9481
作品 0
成都
程序员
私信 提问
在 Ubuntu 上使用 Nginx 部署 Flask 应用

我职业生涯的大部分都在使用微软的架构,最近我决定走出技术的舒适区,步入开源软件世界。我现在日常工作的项目是一个RESTful服务,这个服务需要在主流硬件上运行,且能够按照需要进行水平拓...

greatghoul
2013/09/26
44K
18
Nginx+uWSGI 部署 Django 应用

常见的 webapp 部署方式采用 或 的方式部署,今天我这备忘下采用的部署方式。 目前我这博客就是采用 Nginx + uWSGI + Python + Django 构建的,部署虽没有php那样扔到目录那么方便,但是并发和...

鉴客
2011/10/26
27.1K
8
Ubuntu 下面部署Django 项目

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

水滴石川1
06/26
0
0
【NGINX】nginx+uwsgi+django+python部署总结

(记录一下) 环境如下: 操作系统: Ubuntu 10.04 nginx: 1.0.12 uwsgi: 1.0.4 python: 2.6.5 django: 1.2.7 一.安装uwsgi 到http://projects.unbit.it/uwsgi/wiki/WikiStart#Getit 下载......

晨曦之光
2012/03/01
3.1K
0
Python-django-uwsgi-nginx环境

Ubuntu 环境搭建: ** linux 系统会自带python,一般不需要特定安装python.查看版本 sudo service nginx restart #重启nginxcd /var/www/projectNameuwsgi --stop uwsgi.pid #关闭原有的 uwsg...

青瓶冷水
09/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

不用编写程序代码,送你一个爬虫程序批量采集猫眼电影票房数据

"大数据"是一个体量特别大,数据类别特别大的数据集,并且这样的数据集无法用传统数据库工具对其内容进行抓取、管理和处理。 "大数据"首先是指数据体量(volumes)大,指代大型数据集,一般在1...

技术阿飞
23分钟前
0
0
【Flutter教程】从零构建电商应用(一)

在这个系列中,我们将学习如何使用google的移动开发框架flutter创建一个电商应用。本文是flutter框架系列教程的第一部分,将学习如何安装Flutter开发环境并创建第一个Flutter应用,并学习Flu...

笔阁
44分钟前
5
0
什么是以太坊DAO?(三)

Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念。一般翻译为去中心化的自治组织。 投票支付合约的所有费用和行动需要时间,并要求用户始终保持活跃,知情和专注。另一...

geek12345
46分钟前
2
0
一个本科学生对Linux的认知

一个本科学生对Linux的认知 我是一名大三的普通一本大学的软件工程的一名学生,学校开设了一些关于系统开发的课程,纸上得来终觉浅,学校的课程课时较短,想要在56个课时之内学会一些公司需要...

linuxCool
今天
3
0
CentOS 安装Tomcat

Tomcat 介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 Java 程序写的网站用tomcat+jdk来运...

野雪球
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部