tornado + supervisor + nginx + linux 亲身体验
先说说思路
一、安装这些东西,tornado, supervisor( sudo pip install supervisor 在linux 系统上), 安装 nginx (sudo apt-get install nginx -y)
二、让supervior 和 已经写好的tornado 服务挂钩
用supervisor 来管理服务和进程
在命令行里面使用。
然后,再在 supervisord.conf 最后面添加这几行
这里tornado center.py 的本地服务地址是8100,写在center.py 文件里面了。
当然为了标准,我们可以添加这几行在这里面,用来产看进程id,还有进程log(unix标准要执行)
然后,步骤是
1)
$ sudo supervisord
2)
$ sudo supervisorctl start all
(当上述命令执行完毕后,系统会自动执行上面所添加的program:segm_cn)
三、我们来配置nginx
当我们安装完nginx后,我们可以通过
$ sudo service nginx start
来启动。
而后,我们需要增加一个新的服务,这里比如说是
tornado
在 /etc/nginx/sites-availble 下新建一个tornado.conf 其内容看似:
# this is the real tornado service
upstream tornado {
server 127.0.0.1:; # tornado 服务的本地地址,上面说过了是8100端口
} server {
listen ; # 监听互联网上的80 端口,然后转交给本地的 torando 即8100端口
root /home/software/segm_cn; # tornado 服务文件所在目录
index center.py index.html;
#index index.py index.html; server_name server; location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /center.py/$ last;
}
} #location ~ /center\.py {
location ~ / { # 将所有请求,都转交给upstream使用
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://tornado; # 这里是指向上面的upstream
}
}
然后,
再
$ sudo ln -s /etc/nginx/sites-available/tornado.conf /etc/nginx/sites-enabled/tornado.conf
$ sudo service nginx reload
$ sudo service nginx restart
这时候,所有对服务器ip80端口的访问,全部都定向到本地服务的8100端口了。
我们还可以查看一下supervisor的log服务,来查看到底是谁访问的,访问的一个什么程度。
好了。很爽!!!
我们分几个简单的步骤
tornado + supervisor + nginx + linux 亲身体验的更多相关文章
- tornado + supervisor + nginx 的一点记录
看了比较多的blog基本都是这个架构: supervisor ------------ app1 |-------app2 |-------.... |-------appn |-------ngin ...
- ubuntu下python+tornado+supervisor+nginx部署
由于项目需要,老师让我写一个小web系统,之前都是用java写web,想到自己最近学机器学习要用python,所以用python来写一下,此外,因为想用点新东西,也介于程序比较小,所以考虑用mongo ...
- centos7 使用nginx + tornado + supervisor搭建服务
如何在Linux下部署一个简单的基于Nginx+Tornado+Supervisor的Python web服务. Tornado:官方介绍,是使用Python编写出来的一个极轻量级.高可伸缩性和非阻塞 ...
- Nginx + tornado + supervisor部署
参考链接:supervisor + Tornado + Nginx 使用详解, 用tornado ,Supervisord ,nginx架网站, tornado官方文档 项目文档树: . ├── ch ...
- .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx)
在.NET Core部署到linux(CentOS)最全解决方案,常规篇一文,我们详细讲解了传统的.NET Core部署到Linux服务器的方法,学到了Linux在虚拟机下的安装.Xshell,Xft ...
- Celery,Tornado,Supervisor构建和谐的分布式系统
Celery 分布式的任务队列 与rabbitmq消息队列的区别与联系: rabbitmq 调度的是消息,而Celery调度的是任务. Celery调度任务时,需要传递参数信息,传输载体可以选择rab ...
- 亲身体验:digitalocean vps能做的10件事
我写过一篇亲身体验:digitalocean和linode评测哪个好,帮助不少网友选购价格便宜性能优异的免备案vps,相信大家对两家产品有所了解.vps的性能和用途远远超过传统的虚拟主机,你拥有独立I ...
- 亲身体验:Vultr超高性价比VPS评测教程
最具性价比的vps是哪家?综合考虑vps稳定性.机房速度.vps硬件配置,美国linode一度是vps市场里的王牌:digitalocean vps迅速介入云主机市场,SSD固态硬盘性能秒杀竞争对手, ...
- 使用Supervisor管理Linux进程
使用Supervisor管理Linux进程 简介 Supervisor是一个C/S系统,它可以在类UNIX系统上控制系统进程,由python编写,提供了大量的功能来实现对进程的管理. 安装 sudo ...
随机推荐
- php中echo(),print(),print_r()用法
原文 php中echo(),print(),print_r()用法 从我对echo(),print(),print_r()这个函数的理解是echo可输入字符串变量常量,print与echo差不多,但p ...
- qq音乐的歌词接口中例如:,.的特殊符号编码使用js进行转义
从qq音乐的歌词接口中得到这样的代码 jsonp11({"retcode":"0","code":"0","s ...
- 编写Javascript类库(jQuery版
编写Javascript类库(jQuery版) - 进阶者系列 - 学习者系列文章 Posted on 2014-11-13 09:29 lzhdim 阅读(653) 评论(1) 编辑 收藏 本系列文 ...
- SSIS中Sql Task 获取系统变量
原文:SSIS中Sql Task 获取系统变量 执行 SQL 任务使用不同的连接类型时,SQL 命令的语法使用不同的参数标记.例如,ADO.NET 连接管理器类型要求 SQL 命令使用格式为 @var ...
- PHP:Cannot modify header information - headers already sent by错误的解决方案
<?php ob_start();setcookie("username","test",time()+3600);echo "the user ...
- 百度地图SDK for Android v2.1.3全新发布
2013年8月1日 Android SDK:V2.1.3产品上线 新增: 增加短串分享接口(poiDetailShareURLSearch.poiRGCShareURLSearch) 驾车路线检索增加 ...
- android gps开发必备资料(含测试demo下载)
入门资料参考: How accurate is Android GPS? Part 1: Understanding Location Data How accurate is Android GPS ...
- Oracle自主事务处理
--当一个子程序调用另外一个子程序时,事务提交或回滚都将影响两个子程序 --为防止一个子程序的事务影响其他子程序,可以将这个子程序标记为自主事务处理 --这样自主事务成为一个独立的事务处理,不影响其他 ...
- Angularjs web应用
构建兼容浏览器的Angularjs web应用 背景 随着mvvm逐渐成熟,现在使用jQuery构建web应用已经显得过时了,而且使用jQuery需要编写更多的代码去控制dom的取值.赋值.绑定事件等 ...
- 第三方控件netadvantage UltraWebGrid如何生成多级跨行表头个人总结
1.生成多级表头,横向和纵向跨度. 1>对于有字段的的表头合并:也就是(工期.项目经理信息除外)可以在前台通过spanx和spany属性控制.对于空字段(工资.项目经理必须通过后台动态添加),而 ...