博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python bottle部署_nginx+uwsgi+bottle python服务器部署
阅读量:1544 次
发布时间:2019-04-21

本文共 1213 字,大约阅读时间需要 4 分钟。

一、安装nginx(如果服务器上已经有nginx了,则无需重复安装)

sudo apt-get install nginx

二、nginx配置,例如:/etc/nginx/conf.d/digger.conf

server{

listen9000;

server_name 127.0.0.1;

root/data/webroot/python/digger;

location/{

include uwsgi_params;

uwsgi_pass127.0.0.1:9090;

}

}

注:端口随意,不冲突就好;server_name 可以为域名或ip;

三、安装 uwsgi

pip install uwsgi

四、编写入口py文件,保存为 web.py文件(其他文件名也随意)

importosfrom bottle importBottle, request

mybottle=Bottle()

@mybottle.route('/')defindex():return 'Hello World!'@mybottle.route('//run')defrunSpider(spider):

url=request.query.urlif url isNone:return 'params error'cwd= os.getcwd().replace('\\', '/')return os.system('python3 {cwd}/run.py {spider} {url}'.format(cwd=cwd, spider=spider, url=url))

application= mybottle

五、启动 uwsgi(端口要和上面nginx配置的一致)

uwsgi --socket 127.0.0.1:9090 --wsgi-file web.py --master --processes 4 --threads 2 --daemonize /var/log/uwsgi/app/web.log

默认情况下,修改web.py不会立即生效,需要重启uwsgi;如果调试阶段想自动重载,可以增加 --py-autoreload 1 参数

uwsgi --socket 127.0.0.1:9090 --wsgi-file web.py --master --processes 4 --threads 2 --py-autoreload 1 --daemonize /var/log/uwsgi/app/web.log

PS:使用 -- daemonize 参数时为后台守护进程运行,不使用时为当前会话窗口运行

六、重启 nginx

nginx -s reload

七、访问 http://127.0.0.1:9000 看看效果

八、使用 supervisor 来管理 uwsgi 进程,请看下文:

完。

转载地址:http://kcwcy.baihongyu.com/

你可能感兴趣的文章
Scrapy 爬虫模板--XMLFeedSpider
查看>>
一、项目概述和项目基本结构
查看>>
Scrapy 爬虫模板--CSVFeedSpider
查看>>
二、需求
查看>>
Scrapy 爬虫模板--SitemapSpider
查看>>
三、项目结构讲解
查看>>
6搞懂线程池(二)
查看>>
var lady first
查看>>
细说.NET 缓存
查看>>
Scrapy Pipeline
查看>>
巧用 readonly与 const
查看>>
c# 枚举之间的转换
查看>>
四、Tools 类库解析
查看>>
细说枚举
查看>>
多用as少用强制类型转换
查看>>
如何重写object虚方法
查看>>
少用 string.Format
查看>>
FormattableString 取代特定区域字符串
查看>>
优先考虑 nameof
查看>>
.NET对象清理
查看>>