百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

《第32天》运维工程师分享:web服务器如何解析python

off999 2025-03-26 15:20 63 浏览 0 评论

明天会分享一下关于如何制作U盘里的linux,以及多功能的U盘启动,实现linux,window等引导。感兴趣的朋友可以关注一波!

昨天我们讲到了关于nginx如何响应php程序的方法。而作为运维工程师的必备技能之一——python。是我们今天要讲的重点,python的功能非常多,其中一个就是作为web开发,那么用python实现的web程序,我们怎么用,web服务器apache或者nginx怎么去解析python。接下来我就分别介绍一下apache和nginx是如何实现python解析的。

开班第三十二天:

今天的课程大纲:

  1. apache实现解析python web程序

  2. nginx实现解析python web程序

详细讲解:

  • apache实现解析python web程序

apache实现功能,一般都是通过加载模块实现的,那么apache实现python解析的模块是啥,这个模块叫:mode_wsgi。下面是我实现apache解析python的主要步骤:

1.下载模块,安装模块,这里我已经下载好了。直接安装,由于是源码,所以我进行源码安装。在安装之前,这个模块需要我们系统的几个依赖,httpd-devel,python-devel。

2.解压之后,cd进来,然后执行./configure,执行成功之后再执行make && make install,结束后出现下面的输出就表示安装成功了。

3.安装好之后,为了清晰明了,我直接单独写一个配置文件来加载wsgi这个模块。

执行vim
/etc/httpd/conf.d/wsgi.conf。第一行表示加载这个模块,第二行表示套接字我单独放在一个目录中,要不然会出现访问错误。

4.编写一个python web程序,最简单的。这个程序你可以放在任何地方,但是注意的是,别人应该能够有权限进入这个目录。

5.修改apache的配置文件,这里需要注意的是,我之前定义了www.libin.it这个域名,但是是定义在虚拟主机中的,但是wsgi是不支持虚拟主机的,所以我把这个配置单独写在了一个配置文件中。

WSGIScriptAlias表示当我们访问/的时候,会执行/opt/test.py这个程序。下面的配置就是把这个wsgi放到后台运行,产生两个进程,三个线程。

6.重启apache服务,测试。测试成功,正常显示python输出。

  • nginx实现解析python web程序

apache实现了python,那么现在就看看nginx是如何实现python解析的,首先你要做的是把apache的服务停止,把nginx的服务启动。nginx实现python解析需要一个工具叫做uwsgi,这个工具可以指定我启动多少个进程来实现响应这个python请求。

1.安装uwsgi,我这里有安装包,解压,cd到目录中,只需要执行make就可以了,看到下面输出就是安装成功了。

2.为了方便,我们把目录中产生了命令uwsgi拷贝到/usr/local/bin中。使用命令:uwsgi -M -s /tmp/uwsgi.sock -p 3 --wsgi-file /opt/test.py --uid=nginx。

但这个是前台运行的,不方便,所以我们一般把这个程序放到后台运行,加上-d 日志名。

uwsgi -M -s /tmp/uwsgi.sock -p 3 --wsgi-file /opt/test.py --uid=nginx -d /var/log/uwsgi.log

3.程序安装好了,那么我们怎么配置nginx呢,编写下面的配置文件。但这里我们需要注意的是,在工作中,我们一般不会把所有的请求都教给uwsgi,只是希望把动态的交给uwsgi,静态数据自己处理就行了。那么我们可以这样实现。用try_files实现动静分离,当访问根目录或根文件的时候,首先在自己nginx目录找,如果没有找到,那么交给@uwsgi,这样就可以解析python了。

4.重启nginx服务,访问www.libin.it www.libin.it/test.py,如果是不同的页面,那么我们的成功了。

5.现在又出现一个问题,如果我们关机开机之后,我们是不是又要输入那么一大串代码来启动uwsgi,所以我们可以把uwsgi交给一个进程管理器,之前我们讲到过一个supervisor,这个来管理就非常适合了,同时也满足后台运行了。编辑supervisor配置文件vim /etc/supervisord.conf,添加下面几行,command就是你开启uwsgi的命令,注意写绝对路径,而且需要特别注意的是,不许要加上-d了,因为supervisor就已经把uwsgi后台运行了,而且还单独指定了日志文件。

6.重启supervisor服务/etc/init.d/supervisord restart。输入supervisorctl进入进程管理器界面,查看uwsgi是否运行。这里可以看到uwsgi已经运行了。

总结:

今天主要的任务就是实现web服务器对python程序的解析,如果对python用做web开发感兴趣的,可以多去学习一下python关于web的模块。

头条号:爱家人爱老婆的IT男

QQ群:145252709,我会上传资源,同时会有很多大神跟你们讨论学习分享

微信公众号:程序猿的野生香蕉

相关推荐

使用 python-fire 快速构建 CLI_如何搭建python项目架构

命令行应用程序是开发人员最好的朋友。想快速完成某事?只需敲击几下键盘,您就已经拥有了想要的东西。Python是许多开发人员在需要快速组合某些东西时选择的第一语言。但是我们拼凑起来的东西在大多数时候并...

Python 闭包:从底层逻辑到实战避坑,附安全防护指南

一、闭包到底是什么?你可以把闭包理解成一个"带记忆的函数"。它诞生时会悄悄记下自己周围的变量,哪怕跑到别的地方执行,这些"记忆"也不会丢失。就像有人出门时总会带上...

使用Python实现九九乘法表的打印_用python打印一个九九乘法表

任务要求九九乘法表的结构如下:1×1=11×2=22×2=41×3=32×3=63×3=9...1×9=92×9=18...9×9=81使用Python编写程序,按照上述格式打印出完整的九...

吊打面试官(四)--Java语法基础运算符一文全掌握

简介本文介绍了Java运算符相关知识,包含运算规则,运算符使用经验,特殊运算符注意事项等,全文5400字。熟悉了这些内容,在运算符这块就可以吊打面试官了。Java运算符的规则与特性1.贪心规则(Ma...

Python三目运算基础与进阶_python三目运算符判断三个变量

#头条创作挑战赛#Python中你学会了三步运算,你将会省去很多无用的代码,我接下来由基础到进阶的方式讲解Python三目运算基础在Python中,三目运算符也称为条件表达式。它可以通过一行代码实现条...

Python 中 必须掌握的 20 个核心函数——set()详解

set()是Python中用于创建集合的核心函数,集合是一种无序、不重复元素的容器,非常适合用于成员检测、去重和数学集合运算。一、set()的基本用法1.1创建空集合#创建空集合empty_se...

15个让Python编码效率翻倍的实用技巧

在软件开发领域,代码质量往往比代码数量更重要。本文整理的15个Python编码技巧,源自开发者在真实项目中验证过的工作方法,能够帮助您用更简洁的代码实现更清晰的逻辑。这些技巧覆盖基础语法优化到高级特性...

《Python从小白到入门》自学课程目录汇总(和猫妹学Python)

小朋友们好,大朋友们好!不知不觉,这套猫妹自学Python基础课程已经结束了,猫妹体会到了水滴石穿的力量。水一直向下滴,时间长了能把石头滴穿。只要坚持不懈,细微之力也能做出很难办的事。就比如咱们的学习...

8÷2(2+2) 等于1还是16?国外网友为这道小学数学题吵疯了……

近日,国外网友因为一道小学数学题在推特上争得热火朝天。事情的起因是一个推特网友@pjmdoll发布了一条推文,让他的关注者解答一道数学题:Viralmathequationshavebeen...

Python学不会来打我(21)python表达式知识点汇总

在Python中,表达式是由变量、运算符、函数调用等组合而成的语句,用于产生值或执行特定操作。以下是对Python中常见表达式的详细讲解:1.1算术表达式涉及数学运算的表达式。例如:a=5b...

Python运算符:数学助手,轻松拿咧

Python中的运算符就像是生活中的数学助手,帮助我们快速准确地完成这些计算。比如购物时计算总价、做家务时分配任务等。这篇文章就来详细聊聊Python中的各种运算符,并通过实际代码示例帮助你更好地理解...

Python学不会来打我(17)逻辑运算符的使用方法与使用场景

在Python编程中,逻辑运算符(LogicalOperators)是用于组合多个条件表达式的关键工具。它们可以将多个布尔表达式连接起来,形成更复杂的判断逻辑,并返回一个布尔值(True或Fa...

Python编程基础:运算符的优先级_python中的运算符优先级问题

多个运算符同时出现在一个表达式中时,先执行哪个,后执行哪个,这就涉及运算符的优先级。如数学表达式,有+、-、×、÷、()等,优先级顺序是()、×、÷、+、-,如5+(5-3)×4÷2,先计算(5-3)...

Python运算符与表达式_python中运算符&的功能

一、运算符分类总览1.Python运算符全景图2.运算符优先级表表1.3.1Python运算符优先级(从高到低)优先级运算符描述结合性1**指数右→左2~+-位非/一元加减右→左3*//...

Python操作Excel:从基础到高级的深度实践

Python凭借其丰富的库生态系统,已成为自动化处理Excel数据的强大工具。本文将深入探讨五个关键领域,通过实际代码示例展示如何利用Python进行高效的Excel操作,涵盖数据处理、格式控制、可视...

取消回复欢迎 发表评论: