Linux系统管理中Nginx和python的安装以及python虚拟环境软件的安装与使用(四)

news2025/1/11 10:09:57

1、Nginx的安装和配置:

  • 说明:Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。学习完web框架之后,可以通过web应用程序部署到Nginx服务器上,接下来介绍Nginx在linux当中的安装方式:
    • 1、在centOS中通过yum指令安装
      在这里插入图片描述

    • 注意:ps -aux|grep nginx:查看nginx是否启动,如果启动则显示如下界面:
      在这里插入图片描述

    • 2、后期如果遇到安装linux当中的一些应用时无法通过yum安装,可以通过以下方法安装,yum安装之后的应用很多文件或者文件夹是分散在linux系统当中的。接下来介绍的是通过源码安装的方法,该方法安装的应用可以把所有文件都整齐的安装在linux系统的一个文件中。但这种方法需要自己寻找配置文件,这个过程非常复杂。
      在这里插入图片描述

  • web下载文件的原理:当我们在网址栏输入一个网址,web就会打开这个网址,如果我们输入的是一个图片的网址,web就能够打开这个图片,因为web能够识别后缀。如果我们输入的网址是一个下载地址,web无法识别其后缀,那么它就会把这个资料下载下来,交给你处理。和下载连接中的/download没有关系。
    在这里插入图片描述
    在这里插入图片描述
  • linux中应用的删除指令:yum remove 应用名
  • 通过第一种安装方式练习nginx的安装:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 说明:有的时候我们用云服务器,阿里云或者腾讯云,如果“安全组”中80端口没有开放,那么nginx是没法在网页启动的。可以在云服务器的安全组当中设置,找一个已经开放的端口,然后克隆一个就好。
    在这里插入图片描述

2、python3的安装

  • python是一种编程语言,目前标准的centOS系统软件库(就是用yum安装指令获取软件的地方)并没有python3,所以国内很多云服务器都是把国外软件库通过镜像获取过来,例如阿里云镜像等,所以这些镜像就有很大的自由度,可以往里面添加一些软件的镜像。如果用云服务器的centOS系统的话是可以通过yum指令来安装python3的,但是如果是虚拟机的话,会从标准软件库当中获取,那样yum是没法安装python3的。
  • 使用EPEL安装,EPEL是Extra Packages for Enterprise Linux 的简称,是为企业Linux提供的一组高质量的额外软件包。在这个额外的安装包里,我们能使用yum命令找到python3,注意如果你的cnetOS是从标准软件库下载应用,则可以通过这种方法装python3
    • 1、使用 sudo yum install epel-release指令安装epel扩展软件包
    • 2、使用 sudo yum install python3 安装python3
  • 通过源代码安装(不建议)
    在这里插入图片描述

3、虚拟环境的管理

  • 以python在windows当中的虚拟环境为例说明:

    • 在python中,我们如果使用自己电脑的的环境,这里以我的电脑中python环境为例说明:C:\Users\chris\AppData\Local\Programs\Python\Python39\Lib\site-packages,那么我们安装的所有插件都会处在同一个文件当中,非常混乱不好管理。
    • 在python中,如果我们是做开发,最好使用虚拟环境,这样子首先便于管理
      在这里插入图片描述
      在我们开发好项目之后,还可以通过下面指令,将项目所需要的插件导出为一个reuirements.txt的文件与项目代码一起打包发送给别人。
      在这里插入图片描述
    • 注意:所有项目的虚拟环境最好统一管理在同一个文件夹当中,通俗理解就是,不同的python项目是一个文件夹,但所有的python项目需要的虚拟环境都放在一个文件夹当中,但他们自己又是一个独立的文件夹,该文件夹命名和python项目命名最好一致。
  • 以python在Linux当中的虚拟环境为例,做一个简单的练习进行说明:

    • 1、首先在Linux中新建两个python项目,pa和pb
    • 2、然后再pa中导入requests,在pb中导入pygame
    • 3、用python运行pa和pb,查看运行结果
      在这里插入图片描述
    • 4、给两个项目下载对应的插件,找到插件存放位置
      在这里插入图片描述
    • 5、再次运行,直至两个项目可以成功运行为止
      在这里插入图片描述
  • 在Linux中建立python的虚拟环境,将不同的python项目需要的环境插件整理到不同的文件夹当中

    • 安装virtualenv和virtualenvwrapper然后测试mkvirtualenv test指令
      在这里插入图片描述
    • 注意1:在Linux中装虚拟环境的第二个软件virtualenvwrapper是为了让Linux可以执行,mkvirtualenv、workon、deactivate指令。
    • 注意2:~/.bashrc文件中的内容会在每次用户登录时自动执行,所以我们将三条指令放到了其中。
    • 完成1和2,安装成功。
      在这里插入图片描述
    • 第三步编辑~/.bashrc文件,注意这一步之前要先在家目录中建一个.envs文件夹

在这里插入图片描述
- 最后执行mkvirtualenv test指令,创建test环境
在这里插入图片描述

  • 练习:在虚拟环境的文件夹~/.envs中新建epa和epb环境,然后在桌面新建文件夹project,然后在project中新建两个项目pa.py,pb.py,让pa在虚拟环境epa中调用request插件,让pb在epb中调用flask插件。
    • 第一步:创建两个py文件pa和pb,创建在家目录的project文件夹下:
      在这里插入图片描述
      在这里插入图片描述
    • 第二步:在epa环境下执行pa.py文件:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    • 第三步:在epb环境下执行pb.py文件:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

总结

在这里插入图片描述
在这里插入图片描述

  • 说明1:我们在windows系统中的终端输入指令,系统能够运行,比如python指令,这是因为我们将python.exe文件加载到了Windows系统中的环境变量当中,同理我们在Linux系统中输入的指令也是需要去Linux的环境变量中寻找的:
    在这里插入图片描述

  • 说明2:Linux中写一个指令,都会去所有的bin中查找,找到后会调用对应的文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/172286.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++:list结构算法

List 1.元素在逻辑上具有线性次序,物理地址不做限制。 2.哨兵节点,header和trailer,封装后外部不可见。 3.重载操作符[],实现下标和位置转换。 4.有序查找无序查找 5.前插入算法,首先创建新节点 然后使new成为this节点…

设计模式之代理模式(静态动态)代理

前言:二十三种设计模式中的一种,属于结构型模式。它的作用就是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接对目标方法进行调用,而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥…

PHP设计模式

目录 一、使用设计模式目的 二、设计模式的七大原则 三、创建型模式(构建型模式) 1、单例模式 代码实例 2、工厂模式 2.1、工厂模式——简单工厂模式 简单工厂模式的代码实例 2.2、工厂模式——工厂方法模式 工厂方法模式的代码实例 2.3、工厂…

java开发环境配置及问题排查

Java程序必须运行在JVM之上,所以,我们第一件事情就是安装JDK。 JDK(Java Development Kit),是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提 供了JVM…

Java内存模型和线程安全

Java内存模型和线程安全Java内存模型引言volatile关键字synchronized关键字Java线程Java线程安全synchronized锁优化锁优化技巧列举自旋锁锁消除锁粗化具体实现轻量级锁偏向锁Java内存模型 引言 对于多核处理器而言,每个核都会有自己单独的高速缓存,又因为这多个处理器共享同一…

JavaWeb-会话技术

JavaWeb-会话技术 1,会话跟踪技术的概述 对于会话跟踪这四个词,我们需要拆开来进行解释,首先要理解什么是会话,然后再去理解什么是会话跟踪: 会话:用户打开浏览器,访问web服务器的资源,会话建立&#xff…

反射机制.

文章目录概述两个疑问关于java.lang.Class的理解获取Class实例的方式哪些类型可以有Class对象了解类的加载器掌握加载配置文件的另一种方式创建运行时类的对象体会动态性获取运行时类的完整结构调用运行时类的制定结构每日一考动态代理概述 1、反射是动态语言的关键 2、动态语…

使用Docker打包镜像并发布

1、docker介绍 Docker 是一个开源的应用容器引擎,以镜像的形式进行发布。docker的图标是一个大鲸鱼驮着许多集装箱在海上航行。大鲸鱼就是docker,集装箱就是一个个容器。容器是完全使用沙箱机制,相互之间不会有任何接口,每个容器都…

高级Spring之BeanFactory 与 ApplicationContext 的区别

ApplicationContext接口 SpringBootApplication public class A01 {private static final Logger log LoggerFactory.getLogger(A01.class);public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException, IOException {//启动SpringBoot程序…

Python Scipy 显著性检验

Scipy 显著性检验显著性检验(significance test)就是事先对总体(随机变量)的参数或总体分布形式做出一个假设,然后利用样本信息来判断这个假设(备择假设)是否合理,即判断总体的真实情…

Linux基本功系列之userdel命令实战

春节马上要到了,大街上到处都是张灯结彩,喜气洋洋的景象,你们那里也开始了吗? 文章目录一. userdel命令概述二. 语法格式及常用选项语法格式及常用参数三. 参考案例3.1 删除用户但不删除家目录等相关的文件3.2 把用户彻底删除3.3 …

【Linux05-进程控制】进程创建、进程等待、进程退出、进程程序替换(附简易shell实现)

前言 本期分享进程控制的内容。 博主水平有限,不足之处望请斧正! 进程的控制主要分为四点: 进程创建进程退出进程等待进程程序替换 进程创建 怎么创建 通过fork创建。 #fork 是什么 创建子进程的函数。(使用已经介绍过&am…

Python基础学习 -- 概念

一、变量python的变量定义起来比较随意,不用定义数据类型a123b"123"系统会自动识别a为数值,b为字符串二、关键字定义变量名字的时候,要避开下面的关键字,但是可以通过大小写区分,as123;#错误定义As123;print…

阿里云服务器ECS

云服务器 ECS云服务器ECS(Elastic Compute Service)是一种简单高效、处理能力可弹性伸缩的计算服务。帮助您构建更稳定、安全的应用,提升运维效率,降低IT成本,使您更专注于核心业务创新。为什么选择云服务器ECS选择云服…

音频如何分割成两段音频?这些实用方法值得收藏

有些时候,我们从网上下载的音频素材可能会出现体积较大、播放时间长等情况,而我们却只需要其中的一小段。这个时候我们就需要借助一些音频分割软件来将重要的音频片段提取出来,从而有助于缩小音频文件的占比以及存储。那么如何如何分割音频呢…

JVM进修之路(一)程序计数器与虚拟机栈

JVM 定义:JVM:Java Virtual Machine,也就是Java运行时所需要的环境(Java二进制字节码运行时所需要的环境) 好处: 1.java代码一次编写,跨平台运行 2.自动内存管理,垃圾回收 3.数组下标越界检查 4…

千锋Node.js学习笔记

千锋Node.js学习笔记 文章目录千锋Node.js学习笔记写在前面1. 认识Node.js2. NVM3. NPM4. NRM5. NPX6. 模块/包与CommonJS7. 常用内置模块1. url2. querystring3. http4. 跨域jsonpcorsmiddleware(http-proxy-middleware)5. 爬虫6. events7. File System…

Mysql常用命令练习(一)

Mysql常用命令练习(一)一、数据库的三层结构二、数据库2.1、创建数据库2.2、查看、删除数据库2.3、备份和恢复数据库三、表3.1、创建表mysql常用的数据类型(列类型)创建表查看表查看表结构练习3.2、修改表修改表名修改表的字符集添加列修改列删除列练习3…

轻量级网络模型ShuffleNet

在学习ShuffleNet内容前需要简单了解卷积神经网络和MobileNet的相关内容,大家可以去看我之前的一篇博客MobileNet发展脉络(V1-V2-V3),🆗,接下来步入正题~卷积神经网络被广泛应用在图像分类、目标检测等视觉…

易盾sdk引起项目的整体耗时问题?

大家好: 我是烤鸭。今年年初的时候,项目接入易盾sdk之后,随着接口调用次数增多(用到易盾sdk的接口),项目整体性能变差。写篇文章做个复盘记录,其实同事已经写过了,我借鉴部分再拓展一些。 问题描述 突然收…