python + flask+nginx+mysql环境安装详解

一、下载安装Nginx服务


运行以下命令安装Nginx。

 
yum -y install nginx
运行以下命令查看Nginx版本。

 
nginx -v
返回结果如下所示,表示Nginx安装成功。

 
nginx version: nginx/1.20.1

二、安装Mysql5.7


运行以下命令更新YUM源。

 
rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
运行以下命令安装MySQL。

 
yum -y install mysql-community-server  --nogpgcheck
运行以下命令查看MySQL版本号。

 
mysql -V
返回结果如下所示,表示MySQL安装成功。

 
mysql  Ver 14.14 Distrib 5.7.36, for Linux (x86_64) using  EditLine wrapper
运行以下命令启动MySQL。

 
systemctl start mysqld
依次运行以下命令设置开机启动MySQL。

 
systemctl enable mysqld
systemctl daemon-reload

三、安装python3.9版本


安装python3.9版本
cd ~ 跳转到用户目录
mkdir python3.9 创建python3.9文件夹 并进入 cd python3.9
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel安装依赖包并输入y确认
yum install wget 安装下载工具
wget http://npm.taobao.org/mirrors/python/3.9.0/Python-3.9.0.tgz 下载pyhton3.9([国内taobao镜像)[wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz(官方地址)]
tar -zxvf Python-3.9.0.tgz解压到本目录
cd Python-3.9.0进入3.9.0
./configure prefix=/usr/local/python3配置安装位置
make && make install安装
!强制创建软连接到python ln -sf /usr/local/python3/bin/python3.9 /usr/bin/python3
!强制创建软连接到pip ln -sf /usr/local/python3/bin/pip3 /usr/bin/pip3


mysql导入sql文件命令

mysql -u username -p database_name < path/to/sql_file.sql

#获取初始密码
cat /var/log/mysqld.log | grep password

#设置初始密码
set password for root@localhost = password('123456'); 
flush privileges; 
#使用密码登录 
mysql -h localhost -P 3306 -u root -proot

#创建数据库
create database db3 charset=utf8 collate utf8_general_ci;

show variables like 'character_set_database';

show variables like 'collation_database';

show charset;
show collation;

DROP DATABASE database_name;
#复杂度设置
set global validate_password_policy=0;

select @@validate_password_length;

#导出requirements.txt方式
pip freezen > requirements.txt
pip list --format=freeze >requirement.txt

conda 中导出 requirements.txt

五、再谈:nginx配置
server
{listen 80;listen 443 ssl http2;server_name www.ruixinzy.top;index index.php index.html index.htm default.php default.htm default.html;#root /www/wwwroot/;#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则#error_page 404/404.html;#ssl_certificate    /etc/letsencrypt/live/你的域名/fullchain.pem;#此处不用修改#ssl_certificate_key    /etc/letsencrypt/live/你的域名/privkey.pem;#此处不用修改ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;#error_page 497  https://$host$request_uri;#下面是添加的代码location /api {proxy_pass  http://127.0.0.1:5000/;}
}
六、再添加redis配置和安装:

一、Redis简介

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(哈希类型)。在项目中使用redis,主要是从两个角度去考虑:性能和并发。比如在遇到需要执行耗时久,且结果不频繁变动的SQL,就适合将运行结果放入缓存。这样,后面的请求就去缓存中读取,使得请求能够迅速响应。还有在并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用Redis做一个缓冲操作,让请求先访问到Redis,而不是直接访问数据库。

二、Redis安装

这里安装部署同上一篇一样,用的是MobaXterm软件。方便创建目录以及配置文件。Redis安装包:点击下载

1、下载Redis安装包,并解压至指定目录

1 tar -xzf /home/redis-4.0.9.tar.gz -C /usr/java/redis/

2、在解压的目录执行make命令进行编译(该目录下有Makefile文件,如下图所示)
cd /usr/java/redis/redis-4.0.9/
make

 需要注意的一点是记得安装gcc和gcc-c++,还要注意gcc的版本,用gcc -v来查看当前安装的gcc版本,版本过低(一般需要4.0以上)的话编译redis3.0以上的是会出错的。有可能还要安装tcl。(如果make test出现You need tcl 8.5 or newer in order to run the Redis test的话)
 
 yum install gcc
 yum install gcc-c++
 yum install tcl
 
 
3、编译成功后,在src目录进行安装,如下图所示
cd /usr/java/redis/redis-4.0.9/src/
make install

三、Redis部署

1、将配置文件以及常用命令移至统一目录

  a、切换至上一目录创建bin与etc文件夹,或直接通过MobaXterm新建
 cd /usr/java/redis/redis-4.0.9/
 mkdir etc
 mkdir bin
 b、再将redis.conf文件移至etc目录

 mv redis.conf /usr/java/redis/redis-4.0.9/etc/
 c、最后将mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server等文件移至bin目录

 mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/java/redis/redis-4.0.9/bin/
 
 切换至bin目录下执行redis-server 启动Redis,如下图所示
 3、设置绑定IP(可忽略)以及后台启动Redis

  a、在etc目录,编辑文件(或打开文件修改),将bind后的IP修改为0.0.0.0(默认本地访问修改为支持外部访问),并将daemonize属性改为yes,如下图所示:


 b、再次启动redis服务,并指定启动服务配置文件

redis-server /usr/java/redis/redis-4.0.9/etc/redis.conf

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

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

相关文章

Arduino驱动TMF8801 ToF激光测距传感器(距离传感器)

目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 <

【游戏】如何开发一款游戏:游戏开发流程及所需工具

游戏作为娱乐生活的一个方面&#xff0c;参与其中的人越来越多&#xff0c;而大部分参与其中的人都是以玩家的身份。 他们热爱一款游戏&#xff0c;或是被游戏的故事情节、炫丽的场景、动听的音乐所艳羡&#xff0c;亦或是被游戏中角色扮演、炫酷的技能、有趣的任务所吸引&…

Ansible Windows批量安装软件

文章目录 1&#xff1a;Windows配置WINRM2: ansible安装3&#xff1a;操作步骤3.1 配置主机清单3.2 测试ansible执行命令3.3 测试安装7Z ansible操作通过winrm协议windows&#xff0c;经过实践精简以下方法能快速配置&#xff0c;并能通过测试 更多文档参考: 支持的windows版本…

vscode 支持c,c++编译调试方法

概述&#xff1a;tasks.jason launch.json settings.json一定要有&#xff0c;没有就别想跑。还有就是c 和c配置有区别&#xff0c;切记&#xff0c;下文有说 1.安装扩展插件。 2.安装编译器&#xff0c;gcc.我用的是x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z &#xf…

Linux之缓冲区的理解

目录 一、问题引入 二、缓冲区 1、什么是缓冲区 2、刷新策略 3、缓冲区由谁提供 4、重看问题 三、缓冲区的简单实现 一、问题引入 我们先来看看下面的代码&#xff1a;我们使用了C语言接口和系统调用接口来进行文件操作。在代码的最后&#xff0c;我们还使用fork函数创建…

万界星空低代码云MES-才是工业MES的未来

万界星空科技作为一家在云MES系统的研发、生产自动化方面拥有很多年行业经验的科技型企业&#xff0c;多年来专注于云MES系统的研发与技术支持服务&#xff0c;目前已成为国内知名的智能制造整体解决方案提供商。 近几年&#xff0c;万界星空科技发掘制造行业生产及物流难点、…

Linux防火墙设置查看攻略

inux系统是一种常用的服务器操作系统&#xff0c;它的安全性备受关注。为了保障系统网络的安全linux查看防火墙设置&#xff0c;管理员需要设置防火墙规则。本文将从8个方面详细介绍如何查看Linux防火墙设置。 1.查看当前防火墙状态 在Linux系统中&#xff0c;默认安装iptabl…

图像的颜色及Halcon颜色空间转换transfrom_rgb/trans_to_rgb/create_color_trans lut

图像的颜色及Halcon颜色空间转换 文章目录 图像的颜色及Halcon颜色空间转换一. 图像的色彩空间1. RGB颜色 2. 灰度图像3. HSV/ HSI二. Bayer 图像三. 颜色空间的转换1. trans_from_rgb算子2. trans_to_rgb算子3. create_color_trans_lut算子 图像的颜色能真实地反映人眼所见的真…

挑战Python100题(8)

100+ Python challenging programming exercises 8 Question 71 Please write a program which accepts basic mathematic expression from console and print the evaluation result. 请编写一个从控制台接受基本数学表达式的程序,并打印评估结果。 Example: If the follo…

每日一练:LeeCode-20. 有效的括号(简)【栈】

给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有…

pinia--vue3中的状态管理

一、Pinia是什么&#xff1f; Pinia 是 Vue 的存储库&#xff0c;它允许跨组件/页面共享状态。实际上&#xff0c;pinia就是Vuex的升级版&#xff0c;官网也说过&#xff0c;为了尊重原作者&#xff0c;所以取名pinia&#xff0c;而没有取名Vuex&#xff0c;所以大家可以直接将…

Mybatis 日志配置

要查看MyBatis的日志语句&#xff0c;您可以在一个包、一个完全限定的映射器类名、一个命名空间或一个完全限定的语句名称上启用日志记录。 再次强调&#xff0c;如何做这取决于所使用的日志实现。我们将展示如何在SLF4J(Logback)中进行配置。配置日志服务只需添加一个或多个额…

zdppy_api框架快速入门

概述 zdppy_api是一款为了快速开发而生的&#xff0c;基于异步的&#xff0c;使用简单的Python后端API接口开发框架。 本框架的目标是让Python后端开发变得越来越简单&#xff0c;直到发现原来还可以更简单&#xff01; 一切都是为了提高开发效率&#xff01;&#xff01;&…

标题:探索C语言中的While循环结构

各位少年&#xff1a; 在C语言编程中&#xff0c;循环是一种强大的工具&#xff0c;它允许我们重复执行一段代码&#xff0c;直到满足特定的条件为止。其中&#xff0c;while循环是一种常用的循环结构&#xff0c;它以其简洁的语法和灵活的应用场景赢得了程序员们的青睐。下面…

隧道代理HTTP工作原理:一场奇妙的网络魔法表演

嘿&#xff0c;小伙伴们&#xff01;今天我们要一起探索一个有趣的话题——隧道代理HTTP的工作原理。这不是普通的表演&#xff0c;而是一场奇妙的网络魔法表演&#xff01; 首先&#xff0c;让我们想象一下&#xff0c;网络世界就像一个大舞台&#xff0c;而我们每个人都是这…

RK3566 Android 11平台上适配YT8512C 100M PHY

RK3566代码之前适配的1000M IC RTL8211F , 现在需要在之前的基础上修改PHY IC 为裕泰的YT8512C ----------------------------------------------------------------------//将1000M 的配置关掉&#xff0c;改为100M 配置,查看RK3566 资料关于以太网的配置即可知道如何修改 #if…

Linux驱动开发简易流程

推荐视频&#xff1a; 正点原子【第四期】手把手教你学 Linux之驱动开发篇 小智-学长嵌入式Linux&Android底层开发入门教程 能力矩阵 基础能力矩阵 熟悉c/c、熟悉数据结构 熟悉linux系统&#xff0c;Shell脚本&#xff0c;Makefile/cmake/mk 文件IO、多线程、竞争、并发…

AutoSAR(基础入门篇)3.1-Autosar中RTE的概述

目录 一、RTE概述 1、什么是RTE 2、RTE的作用 二、RTE对Runnables的运行支撑 1、作为运行环境的主要功能点

Kubernetes 网络架构

大家好&#xff0c;我是升仔 Kubernetes 网络架构概览 Kubernetes 网络架构的设计理念是简化容器间的通信&#xff0c;确保 Pods 间可以无障碍通信&#xff0c;同时对外提供访问服务的机制。这一设计理念贯穿于整个网络架构。 Pod 网络模型 基本概念&#xff1a;在 Kuberne…

深度优先和广度优先

文章目录 前言一、深度和广度的区别二、代码演示1.准备数据,构造树2.深度优先遍历3.广度优先遍历 总结 前言 深度优先和广度优先的区别&#xff1a; 搜索方式不同 。深度优先搜索算法不全部保留结点&#xff0c;扩展完的结点从数据库中弹出删去&#xff1b;广度优先搜索算法需…