nginx+uwsgi+bottle python服务器部署
一、安装nginx(如果服务器上已经有nginx了,则无需重复安装)
sudo apt-get install nginx
二、nginx配置,例如:/etc/nginx/conf.d/digger.conf
server{
listen 9000;
server_name 127.0.0.1;
root /data/webroot/python/digger;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
}
注:端口随意,不冲突就好;server_name 可以为域名或ip;
三、安装 uwsgi
pip install uwsgi
四、编写入口py文件,保存为 web.py文件(其他文件名也随意)
import os
from bottle import Bottle, request mybottle = Bottle() @mybottle.route('/')
def index():
return 'Hello World!' @mybottle.route('/<spider>/run')
def runSpider(spider):
url = request.query.url
if url is None:
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 参数时为后台守护进程运行,不使用时为当前会话窗口运行
其他配置及参数看这里 ->https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html
六、重启 nginx
nginx -s reload
七、访问 http://127.0.0.1:9000 看看效果
八、使用 supervisor 来管理 uwsgi 进程,请看下文:
《使用 supervisor 来管理 python 进程(以uwsgi为例)》
完。
nginx+uwsgi+bottle python服务器部署的更多相关文章
- Flask+Nginx+uWSGI在Ubuntu服务器上的配置
Flask+Nginx+uWSGI在Ubuntu服务器上的配置 Step1 安装系统环境 Ubuntu服务器选择是阿里云的ECS服务,ECS提供单独的内存\CPU\带宽\存储规格可以选择,并且提供合适 ...
- nginx+uwsgi+django+virtualenv+supervisor部署web服务器
wsgi 全称web server gateway interface,wsgi不是服务器,也不是python模块,只是一种协议,描述web server如何和web application通信的规则 ...
- django 本地项目部署uwsgi 以及云服务器部署 uwsgi+Nginx+Docker+MySQL主从
一 .django 本地项目部署uwsgi 1 本地部署项目 uwsgi安装测试 通过uwsgi 进行简单部署 安装uwsgi命令:pip install uwsgi -i http://pypi.d ...
- Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器
一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...
- Nginx+uWSGI+bottle 在Linux上部署
在/data/lujianxing/bottle 文件夹中创建三个文件: bottle.py bottle的源文件 a.py from bottle import Bottle, run mybott ...
- Nginx+uWSGI+Django+Python在Linux上的部署
搞了一整天,终于以发现自己访问网络的端口是错误的结束了. 首先要安装Nginx,uWSGI,Django,Python,这些都可以再网上查到. 安装好后可以用 whereis 命令查看是否安装好了各种 ...
- 基于centos7+nginx+uwsgi+python3+django2.0部署Django项目
0.序言 本文讲解如何基于centos7+nginx+uwsgi+python3+django2.0把windows上的本地项目部署到云服务器上. 本文服务器上的django项目和虚拟环境的路径将建立 ...
- nginx+uwsgi+flask+supervisor 项目部署
环境 - Linux: Ubuntu 16.04 - uWSGI 2.0.18 - Flask 1.0.2 - supervisor 3.2.0 - nginx/1.8.1 首先区分几个概念 WSGI ...
- [技术博客]ubuntu+nginx+uwsgi+Django+https的部署
ubuntu+nginx+uwsgi+Django+https部署文档 配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版 ...
随机推荐
- Asp.Net Core文件上传
文件上传功能在实际开发中经常使用,在 .Net Core中,文件上传接收类型不再使用 HttpPostedFile 或 HttpFileCollection来接收,而是使用 IFormFile 或 I ...
- 会话技术——Cookies和Session详解
会话技术 (一) 概述.用途以及分类 (1) 基本概述 概述:会话是浏览器和服务器之间的多次请求和响应 也就是说,从浏览器访问服务器开始,到访问服务器结束,浏览器关闭为止的这段时间内容产生的多次请求和 ...
- React学习,搭建项目,入门
react项目基于node.js.用npm包管理工具; 在cmd命令行中输入: npm install -g create-react-app 等待其安装,意思是全局安装create-react-ap ...
- (六)Cookie 知识点总结 (来自那些年的笔记)
如果你想要转载话,可不可以不要删掉下面的 作者信息 呀!: 作者:淮左白衣 写于 2018年4月18日18:47:41 来源笔者自己之前学javaWeb的时候,写的笔记 : 目录 如果你想要转载话,可 ...
- Django自定义分页并保存搜索条件
Django自定义分页并保存搜索条件 1.自定义分页组件pagination.py import copy class Pagination: def __init__(self, current_p ...
- Yii2 基于header 实现接口版本控制
Yii2 官方给出的方案是基于url的版本控制,但是我们的versoin放在header里面,需要通过header来进行版本控制,实现如下: 首先在基类中实现actions,actions是针对con ...
- 【规律】Farey Sums
[参考博客]: https://blog.csdn.net/meopass/article/details/82952087 Farey Sums 题目描述 Given a positive inte ...
- Linux下/etc/login.defs文件
/etc/login.defs文件定义了与/etc/password和/etc/shadow配套的用户限制设定.这个文件是需要的,缺失并不会影响系统的使用,但是也许会产生意想不到的错误. 如果/etc ...
- (七)Activiti之历史活动查询和历史任务查询和流程状态查询
一.历史活动查询 本章案例是基于上一章节案例的基础上,流程走完后进行测试的,也就是下图的流程从学生请假到班主任审批都已经完成,本章用来测试查询历史活动和历史任务的 activiti5的历史活动包括所有 ...
- (八)SpringBoot之freeMarker基本使用
一.案例 1.1 pom.xml <dependencies> <!-- 除去logback支持 --> <dependency> <groupId>o ...