linux下python和webpy怎么搭建,第1张

基于python的web开发,这里我们使用linux为开发环境,搭建基于nginx + webpy + fastcgi

有些基本基本概念解释下,哈哈,因为我不懂

1wsgi为Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口

2uwsgi,另一种python定义的web服务器和web应用的接口

3REST服务,REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

4CRUD是指在做计算处理时的增加(Create)、查询(Retrieve)(重新得到数据)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中数据库或者持久层的基本操作功能

以下内容主要来自

http://webpyorg/cookbook/fastcgi-nginx

需要的软件

nginx 07以上版本,我使用的是nginx 092

webpy我使用的webpy-037

spawn-fcgi 163

flup 10

nginx的配置请参看官方文档

spawn-fcgi是lighttpd的一个子项目用于多进程管理

webpy和flup安装方式为解压后运行python setuppy install

安装编写indexpy

点击(此处)折叠或打开

#!/usr/bin/env python

# -- coding: utf-8 --

import web

urls = ("/", "hello")

app = webapplication(urls, globals())

class hello:

def GET(self):

return 'Hello, world!'

if __name__ == "__main__":

webwsgirunwsgi = lambda func, addr=None: webwsgirunfcgi(func, addr)

apprun()

注意indexpy需要使用命令chmod +x indexpy加入可执行权限

将indexpy放入/data/www(我所使用的目录你可以修改)

修改nginxconf配置

index要加入indexpy

Nginx的配置加入

点击(此处)折叠或打开

location / {

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param GATEWAY_INTERFACE CGI/11;

fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $remote_addr;

fastcgi_param REMOTE_PORT $remote_port;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_script_name;

fastcgi_pass 127001:9002;

}

使用Spawn-fcgi

spawn-fcgi -d /data/www -f /data/www/indexpy -a 127001 -p 9002

如果报错为126,说明indexpy没有可执行权限

netstat -lnp | grep 9002参考是否启动成功

我运行的实际为

spawn-fcgi -d /data/www -f /data/www/indexpy -a 127001 -p 9002 -F 2

启动2个进程

启动nginx

浏览器输入地址

成功结束

70个Python 项目列表:

1、[Python转字符画)

2、[200行 Python 代码实现 2048)

3、[Python3 实现火车票查询工具]

4、[高德 API+Python 解决租房问题]

5、[Python3 色情识别]

6、[Python 破解验证码]

7、[Python 实现简单的 Web 服务器

8、[pygame 开发打飞机游戏]

9、[Django 搭建简易博客]

10、[Python 基于共现提取《釜山行》人物关系]

11、[基于 scrapy 爬虫的天气数据采集(python)]

12、[Flask 开发轻博客]

13、[Python3 隐写术]

14、[Python 实现简易 Shell]

15、[使用 Python 解数学方程)

16、[PyQt实现简易浏览器]

17、[神经网络实现手写字符识别系统)

18、[Python 实现简单画板]

19、[Python 实现3D 建模工具]

20、[NBA常规赛结果预测一利用 Python 进行比赛数据分析

[Python文本解析器]

[Python3 & OpenCV 视频转字符动画]

[Python3 实现淘女郎照片爬虫 ]

[Python3实现简单的FTP认证服务器

[基于 Flask 与 MySQL 实现番剧推荐系统

[Python 实现端口扫描器]

[使用Python3编写系列实用脚本]

[Python 实现康威生命游戏]

[Python 3 实现 Markdown 解析器]

[Python 气象数据分析-- 《Python 数据分析实战》

[Python实现键值数据库]

[k-近邻算法实现手写数字识别系统]

[ebay在线拍卖数据分析]

[Python 实现英文新闻摘要自动提取][Python实现简易局域网视频聊天工具]

39、[Python实现Python解释器]

40、[Python3基于Scapy实现DDos]

[Python 实现密码强度检测器]41、

42[使用 Python 实现深度神经网络

不[Python实现从excel读取数据并绘制成精美图像][人机对战初体验:Python基于Pygame实现四子棋游双[Python3 实现可控制肉鸡的反向Shell]

似低城机城根弧引江汉M红纸红致致

[Python打造漏洞扫描器]

[Python应用马尔可夫链算法实现随机文本生成)

[数独游戏的Python实现与破解]

[使用Python定制词云]

[Python开发简单计算器

[Python 实现 FTP 弱口令扫描器

[Python实现Huffman编码解压缩文件]

[Python实现Zip文件的暴力破解]

[Python3 智能裁切]

[Python实现网站模拟登陆

[给Python3爬虫做一个界面妹子图网实战]、[Python 3 实现转彩色字符]

[自联想器的 Python 实现]

[Python 实现简单滤镜]

60(Flask 实现简单聊天室

61、

R

[Python实现模板引擎]

63[Python实现遗传算法求解n-queens问题]

64、[Python3 实现命令行动态进度条]

65、[Python 获取挂号信息并邮件通知

66

、[Python实现java web项目远端自动化更新部署67、[使用 Python3编写 Github 自动周报生成器)

68、[使用 Python 生成分形]

69、[Python 实现 Redis 异步客户端

70、[Python 实现中文错别字高亮系统

Python开发的jumpserver跳板机

jumpserver跳板机是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。

企业主要用于解决:可视化安全管理

特点:完全开源,GPL授权

Python编写,Django开发框架,容易再次开发

实现了跳板机基本功能:认证、授权、审计。集成了Ansible、批量命令等。功能强大。

通俗点就是起到监控谁在服务器上做了什么操作等。录像回放、命令搜索、实时监控、批量上传下载等。

第三:Python开发的Magedu分布式监控系统

以自动化运维视角为出发点,自动化功能、监控告警、性能调优,结合saltstack实现自动化配置管理等内容进行了全方位的深入剖析。

企业主要用于解决:自动化监控常用系统服务、应用、网络设备等。分布式可监控更多服务器,分区域监控再汇总。Zabbix监控结合Python自定义监控脚本。

监控系统需求讨论:

监控常用系统服务、应用、网络设备等?一台主机上可监控多个不同服务、不同服务的监控间隔可不同?同一个服务在不同主机上的监控间隔、报警阈值可不同?告警级别?数据可视化,如何做出简洁美观的用户界面?如何实现单机支持5000+机器监控需求?采取何种通信方式?主动、被动?

第四:Python开发的Magedu的CMDB

cmdb的开发需要包含三部分功能:采集硬件数据、API、页面管理。

企业主要用于解决:项目功能,采集硬件数据、Api、页面管理。统计资产,例如服务器存放位置,服务器上的账号等等。

执行服务的过程如下:服务器的客户端采集硬件数据,然后将硬件信息发送到API,API负责将获取到的数据保存到数据库中,后台管理程序负责对服务器信息的配置和展示。

第五:Python开发的任务调度系统

Python任务调度系统的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。

企业主要用于解决:通俗的理解,批量管理crontab定时任务。原理用户通过web页面设置任务,传输到任务调度系统服务器上的客户端,客户端收集数据反馈给服务器端,服务器端根据任务具体内容调度后端的集群服务器做定时任务。

一个服务进程可以作为调度者,将任务分布到其他多个机器的多个进程中,依靠网络通信。想到这,就在想是不是可以使用此模块来实现一个简单的作业调度系统。

第六:Python运维流程系统

使用python语言编写的调度和监控工作流的平台内部用来创建、监控和调整数据管道。任何工作流都可以在这个使用Python来编写的平台上运行。

企业主要用于解决:通俗点说就是规范运维的操作,加入审批,一步一步操作的概念。

是一种允许工作流开发人员轻松创建、维护和周期性地调度运行工作流(即有向无环图或成为DAGs)的工具。这些工作流包括了如数据存储、增长分析、Email发送、A/B测试等等这些跨越多部门的用例。

这个平台拥有和 Hive、Presto、MySQL、HDFS、Postgres和S3交互的能力,并且提供了钩子使得系统拥有很好地扩展性。除了一个命令行界面,该工具还提供了一个基于Web的用户界面让您可以可视化管道的依赖关系、监控进度、触发任务等。

来个小总结

你需要登录云服务器管理控制台,记录被我打马赛克位置的公网ip。

登录服务器

windows推荐下putty进行连接远程服务器,linux和macos不需要那么麻烦,ssl就行了。

putty

在下图的host name中输入你的公网IP,点击open。

putty界面

输入密码,看不见输入不要慌,linux就是这样保护安全的。

Paste_Imagepng

登录成功界面见下图,然后想怎么操作就怎么操作了。

登陆成功界面

运行我的python文件

推荐FileZilla进行文件传输(不具体说明了),我上传了我的flask网站项目

我的项目

记住服务器同时有Python2和Python3,

python

运行的时候记得使用合适的版本,我用的是虚拟环境(自行百度如何创建虚拟环境)

在运行python之前先安装一个screen,他可以将一个程序在后台运行

sudo apt-get install screen

运行python文件,成功后按下ctrl+A和ctrl+D可以隐藏。隐藏后可以输入screen -r 恢复。

运行成功

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux下python和webpy怎么搭建

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情