程序员开发实例大全宝库

网站首页 > 编程文章 正文

如何用Python语言开发大型服务器程序

zazugpt 2025-05-11 02:57:49 编程文章 6 ℃ 0 评论


引言

进入TIOBE的官网,查看2021年04月份最新的编程语言排行榜,Python仍处于探花的位置,但与状元C语言和榜眼Java语言的差距越来越小。这是我刚刚从TIOBE官网的截图:

从用户使用率来看,C语言和Java语言一年来处于下滑趋势,而Python语言却处于上升趋势,根据这个趋势,乐观地估计,半年之内,Python语言可能会成为第二流行的计算机语言。

可是,不知道大家有没有和我相同的感受:Python语言很棒,但是优秀的参考书籍太少了!

这段时间,我用Python语言开发了一个比较大的服务器软件,开发过程中吃尽了苦头。因此,我决定,将这段时间开发程序时的框架总结出来,分享给大家。

本文使用的开发工具是PyCharm,Python程序运行的操作系统环境是Ubuntu 16.04.7 LTS。

1、建立工程

新建一个目录MyServer,作为我们要开发的服务器软件的工程目录:

启动PyCharm,点击Open按钮,然后选择我们新建的目录:

此时,我们就建立了一个干净的Python工程,里面没有任何我们不想要的文件:

2、建立requirements.txt文件

requirements.txt文件类似于Java Maven中的pom.xml文件,用于指出Python工程依赖的库,我们还可以给出依赖库的版本号。

requirements.txt文件是纯文本文件,如果我们的软件需要支持Web功能,需要使用MySQL数据库存储数据,需要使用MQTT协议与外界通信,则requirements.txt文件可以这样写:

Flask==1.1.2
Flask-Script==2.0.6
PyMySQL==0.10.0
Flask-MQTT==1.1.1
paho-mqtt==1.5.0
Werkzeug==1.0.1

在一个新的环境下第一次运行Python程序前,需要使用pip命令,传入requirements.txt参数,下载依赖的库,命令如下:

#pip3 install -r requirements.txt

这是我执行pip命令的截图:

3、建立app包

在工程目录下,建立app包,作为自己开发业务功能的存放位置。

建立app包后,Python的工程视图如下:

4、在app包中建立自己需要的模块或子包

为了简单,这里就只建立一个RestDealer模块,RestDealer.py文件的功能是支持用户通过网页访问,RestDealer.py文件的内容如下:

from flask import Flask

def create_app():
  app = Flask(__name__)

  @app.route('/')
  def index():
    return "hello, welcome!"
  return app

现在Python工程的视图如下:

5、在工程根目录下建立manage模块

manage模块为Python程序的入口模块,manage.py程序的内容如下:

from app.RestDealer import create_app
from flask_script import Manager, Server

app = create_app()
manager = Manager(app)
server = Server(host="0.0.0.0", port=9090)
manager.add_command("runserver", server)

if __name__ == '__main__':
  manager.run()

入口程序的功能是,启动HTTP服务器,监听9090端口,并让app成为处理HTTP请求的对象。现在Python工程的视图如下:

6、运行程序

将工程的所有代码拷贝到Ubuntu执行环境,然后执行python命令,启动我们编写的Python程序。这是执行的命令:

#python3 manage.py runserver

这是程序启动情况的截图:

程序启动后,我们可以通过浏览器访问,这是截图:

我们的Python程序也会动态输出收到的HTTP请求:

7、后记

这篇文章,原来拟定的题目是“如何开发大型服务器程序”,也准备好了一个包括HTTP功能、MySQL访问功能、MQTT通信功能的示例程序。但刚写一点点,发现这样的程序,让文章读起来味同嚼蜡,因此缩减成现在的样子。

谢谢阅读!

推荐一本Python书籍,下班回家后翻上两页,是一种享受:

<script type="text/javascript" src="//mp.toutiao.com/mp/agw/mass_profit/pc_product_promotions_js?item_id=7262391124201833020"></script>

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表