龙空技术网

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

编程实践 49

前言:

今天同学们对“python 启动服务器”大致比较着重,朋友们都想要分析一些“python 启动服务器”的相关内容。那么小编同时在网上网罗了一些关于“python 启动服务器””的相关知识,希望看官们能喜欢,姐妹们一起来学习一下吧!

引言

进入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.2Flask-Script==2.0.6PyMySQL==0.10.0Flask-MQTT==1.1.1paho-mqtt==1.5.0Werkzeug==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 Flaskdef 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_appfrom flask_script import Manager, Serverapp = 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书籍,下班回家后翻上两页,是一种享受:

标签: #python 启动服务器 #ubuntupython运行 #在服务器上搭建数据库 #java服务器高级编程 #ubuntu创建一个txt文件写