当前位置: 首页 > news >正文

阿里云快速部署开发环境 (Apache + Mysql8.0+Redis7.0.x)

本文章的内容截取于云服务器管理控制台提供的安装步骤,再整合前人思路而成,文章末端会提供原文连接

  • Apache
  • Mysql 8.0
    • 部署MySQL数据库(Linux)
    • 步骤一:安装MySQL
    • 步骤二:配置MySQL
    • 步骤三:远程访问MySQL数据库
  • Redis
  • 一些开发工具
    • 使用Xshell连接linux服务器
    • Xftp的下载、安装、使用
  • CentOS8 配置java环境变量
  • CentOS 8.0完美升级gcc至9.x.x,10.x.x,11.x.x

Apache

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

近来,根据阿里云快速搭建网站的教程去操作,在部署环境时执行‘ yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql’报错,错误如下1

[root@iZ0jlefpaeqcxkwjw3gw21Z ~]# yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
Last metadata expiration check: 2:19:13 ago on Fri 24 Dec 2021 08:02:11 AM CST.
No match for argument: mod_auth_mysql
Error: Unable to find a match: mod_auth_mysql
  1. 按照顺序执行下面两行代码
 yum -y install httpd httpd-manual mod_ssl mod_perlyum -y install httpd httpd-devel

如果回显信息显示Complete!,则表示Apache安装成功。
可以执行 httpd -v 进行检验,若返回版本号即为安装成功

  1. 依次执行命令启动Apache并设置自启动。
systemctl start httpd
systemctl enable httpd
  1. 执行命令查看Apache运行状态。
systemctl status httpd

Mysql 8.0

部署MySQL数据库(Linux)

MySQL是一个关系型数据库管理系统,常用于LAMP和LNMP等网站场景中。本教程介绍如何在Linux系统ECS实例上安装、配置以及远程访问MySQL数据库2

背景信息
本教程中的MySQL版本仅为示例,您在实际操作时,MySQL的版本可能因软件源的更新而有所不同。关于MySQL相关安装路径说明如下:

准备工作
快速部署时选择已有实例或手动部署MySQL时,已有ECS实例必须满足以下条件:

实例已分配公网IP地址或绑定弹性公网IP(EIP)。

操作系统:CentOS 7.x、CentOS 8.x、Alibaba Cloud Linux 2、Alibaba Cloud Linux 3。

实例安全组的入方向规则已放行22、80、443、3306端口。具体操作,请参见添加安全组规则。

Alibaba Cloud Linux 2/3、CentOS 7.x

本次操作基于CentOS8.0

步骤一:安装MySQL

  • 远程连接ECS。
  • 运行以下命令,更新YUM源。
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
  • 运行以下命令,安装MySQL3
#先运行yum module disable mysql
#然后再运行yum install mysql-community-server 
  • 运行以下命令,查看MySQL版本号。
mysql -V

步骤二:配置MySQL

  • 运行以下命令,启动并设置开机自启动MySQL服务。
sudo systemctl start mysqld
sudo systemctl enable mysqld
  • 运行以下命令,获取并记录root用户的初始密码。
sudo grep 'temporary password' /var/log/mysqld.log
  • 执行​命令结果示例如下。
2022-02-14T09:27:18.470008Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: r_V&f2wyu_vI

上面示例中r_V&f2wyu_vI就是初始密码

  • 运行以下命令,对MySQL进行安全性配置。
sudo mysql_secure_installation
  • 根据提示信息,重置MySQL数据库root用户的密码。
    注意:我在这里设置密码浪费了很多时间,主要是不知道她的密码策略。最终我尝试的英文字母大小写 + 数字 + 特殊字符, 共8位, 尝试成功,各位可以自己尝试以下别的组合。
Enter password for user root: #输入已获取的root用户初始密码The existing password for the user account root has expired. Please set a new password.New password: #输入新的MySQL密码Re-enter new password: #重复输入新的MySQL密码
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) :Y #输入Y选择更新MySQL密码。您也可以输入N不再更新MySQL密码。New password: #输入新的MySQL密码Re-enter new password: #重复输入新的MySQL密码Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :Y #输入Y确认使用已设置的密码。

后面就一直选y就行
直到出现All done!
至此,mysql8.0安装完毕

步骤三:远程访问MySQL数据库

建议您使用非root账号远程登录MySQL数据库。下文示例中,将创建新的MySQL用户账户,用于远程访问MySQL。

  • 运行以下命令后,输入root用户的密码登录MySQL。
sudo mysql -uroot -p
  • 依次运行以下命令,创建远程登录MySQL的账号,并允许远程主机使用该账号访问MySQL。
#创建数据库用户root,并授予远程连接权限。
create user 'root'@'%' identified by 'Ecs@123****'; 
#为dmsTest用户授权数据库所有权限。
grant all privileges on *.* to 'dmsTest'@'%'; 
#刷新权限。
flush privileges; 
  • 执行以下命令,退出数据库。
exit

接下来可以使用navicat连接远程数据库

Redis

  1. 首先在官网上下载包
  2. 使用Xftp将包移动到/opt目录下
  3. 执行解压命令
tar -zxvf redis-7.0.12.tar.gz #这里是我下载的redis版本,要换成你的

执行ls命令,结果如图
在这里插入图片描述

  1. 进入解压后的文件
cd redis-7.0.12/

在这里插入图片描述

  1. 安装gcc
yum install gcc-c++

查看版本

gcc -v

CentOS8会默认给你安装8.x.x的版本,如果你用的redis是6.x.x以上的版本,下面的代码可能会出错,建议您看往下翻或看目录导航至如何升级gcc版本
6. 执行make命令

make

在这里插入图片描述

  1. 接着执行
make install
  1. 将redis配置文件拷贝到我们当前目录下,依次执行下述指令
cd /usr/local/bin
mkdir myconfig
cp /opt/redis-7.0.12/redis.conf myconfig/

查看myconfig目录下是否有配置文件

ls myconfig/

发现确实存在,我们之后就使用这个文件进行启动,方便我们恢复原状
在这里插入图片描述
9. redis默认不是后台启动,我们修改配置文件,使其后台启动

cd myconfig/
vim redis.conf

将此处的daemonize修改为yes,接着按ESC,按一下:,输入wq, 按一下enter键盘,保存退出

cd .. #返回上一层目录
  1. 启动Redis服务
redis-server myconfig/redis.conf

在这里插入图片描述

连接redis, 6379是redis默认端口号

redis-cli -p 6379

在这里插入图片描述

  1. 测试连通
127.0.0.1:6379> set name sichenyong
OK
127.0.0.1:6379> get name
"sichenyong"
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> 

在这里插入图片描述
查看进程是否启动
新建一个连接

ps -ef|grep redis

在这里插入图片描述
如果你是从宝塔安装的redis, 第一行显示www/xxxxx
退出连接

shutdown #关闭redis
exit

在这里插入图片描述
在新建的窗口执行一下命令ps -ef|grep redis 发现服务正常关闭
在这里插入图片描述

一些开发工具

使用Xshell连接linux服务器

XShell下载安装及使用(免费版)

Xftp的下载、安装、使用

Xftp的下载、安装、使用

CentOS8 配置java环境变量

  1. vim /etc/profile
  2. 按一下 “i”进入编辑模式
  3. 找到如下位置填入下面的内容
export JAVA_HOME=/usr/java/jdk1.8.0_202-amd64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述
4. 按以下esc退出编辑模式,之后按“:”, 输入wq退出文件
5. 使用命令

source /etc/profile

可能会遇到

source /etc/profile /usr/libexec/grepconf.sh: line 5: grep: command not found /usr/libexec/grepconf.sh: line 5: grep: command not found /usr/libexec/grepconf.sh: line 5: grep: command not found

这样的问题,我找了好久没有解决,然后重启服务器发现没有报错,正常使用

CentOS 8.0完美升级gcc至9.x.x,10.x.x,11.x.x

gcc-toolset-9对应gcc9.x.x版本
gcc-toolset-10对应gcc10.x.x版本
gcc-toolset-11对应gcc11.x.x版本

以升级10.x.x为例4

  1. 配置yum源
vi /etc/yum.repos.d/Centos-8.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[AppStream]
name=CentOS-$releasever - AppStream - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[8-AppStream]
name=CentOS-$releasever - 8-AppStream
baseurl=http://mirrors.aliyun.com/centos/8-stream/AppStream/$basearch/os/
gpgcheck=0
enabled=1
  1. 安装gcc-toolset-10
dnf install gcc-toolset-10
  1. 激活gcc版本,使其生效
scl enable gcc-toolset-10 bash

source /opt/rh/gcc-toolset-10/enable

此时通过gcc -v命令可以看到,gcc版本已经变成10.x.x,值得注意的是这仅仅在当前bash生效,如果需要永久生效,可以请自行添加环境变量。

完结


  1. 阿里云ESC报错‘No match for argument: mod_auth-mysql,Error: Unable to find a match: mod_auth-mysql’ ↩︎

  2. mysql数据库安装 ↩︎

  3. 阿里云ESC安装mysql8.0:No match for argument: mysql-community-server ↩︎

  4. CentOS8完美升级gcc版本方法 ↩︎

相关文章:

阿里云快速部署开发环境 (Apache + Mysql8.0+Redis7.0.x)

本文章的内容截取于云服务器管理控制台提供的安装步骤,再整合前人思路而成,文章末端会提供原文连接 ApacheMysql 8.0部署MySQL数据库(Linux)步骤一:安装MySQL步骤二:配置MySQL步骤三:远程访问My…...

语音秘书:让录音转文字识别软件成为你的智能工作助手

每当在需要写文章的深夜,我的思绪经常跟不上我的笔,即便是说出来用录音机录下,再书写出来,也需要耗费大量时间。这个困扰了我很久的问题终于有了解决的办法,那就是录音转文字软件。它像个语言魔术师,将我所…...

【腾讯云 Cloud Studio 实战训练营】用于编写、运行和调试代码的云 IDE泰裤辣

文章目录 一、引言✉️二、什么是腾讯云 Cloud Studio🔍三、Cloud Studio优点和功能🌈四、Cloud Studio初体验(注册篇)🎆五、Cloud Studio实战演练(实战篇)🔬1. 初始化工作空间2. 安…...

[C#] 简单的俄罗斯方块实现

一个控制台俄罗斯方块游戏的简单实现. 已在 github.com/SlimeNull/Tetris 开源. 思路 很简单, 一个二维数组存储当前游戏的方块地图, 用 bool 即可, true 表示当前块被填充, false 表示没有. 然后, 抽一个 “形状” 类, 形状表示当前玩家正在操作的一个形状, 例如方块, 直线…...

postman官网下载安装登录详细教程

目录 一、介绍 二、官网下载 三、安装 四、注册登录postman账号(不注册也可以) postman注册登录和不注册登录的使用区别 五、关于汉化的说明 一、介绍 简单来说:是一款前后端都用来测试接口的工具。 展开来说:Postman 是一个…...

(贪心) 剑指 Offer 14- I. 剪绳子 ——【Leetcode每日一题】

❓剑指 Offer 14- I. 剪绳子 难度:中等 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n > 1 并且 m > 1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m…...

如何将Linux上的cpolar内网穿透设置成 - > 开机自启动

如何将Linux上的cpolar内网穿透设置成 - > 开机自启动 文章目录 如何将Linux上的cpolar内网穿透设置成 - > 开机自启动前言一、进入命令行模式二、输入token码三、输入内网穿透命令 前言 我们将cpolar安装到了Ubuntu系统上,并通过web-UI界面对cpolar的功能有…...

50.两数之和(力扣)

目录 问题描述 核心代码解决 代码思想 时间复杂度和空间复杂度 问题描述 给定一个整数数组 和一个整数目标值 ,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。numstarget 你可以假设每种输入只会对应一个答案。但是&am…...

k8s基础

k8s基础 文章目录 k8s基础一、k8s组件二、k8s组件作用1.master节点2.worker node节点 三、K8S创建Pod的工作流程?四、K8S资源对象1.Pod2.Pod控制器3.service && ingress 五、K8S资源配置信息六、K8s部署1.K8S二进制部署2.K8S kubeadm搭建 七、K8s网络八、K8…...

【自然语言处理】大模型高效微调:PEFT 使用案例

文章目录 一、PEFT介绍二、PEFT 使用2.1 PeftConfig2.2 PeftModel2.3 保存和加载模型 三、PEFT支持任务3.1 Models support matrix3.1.1 Causal Language Modeling3.1.2 Conditional Generation3.1.3 Sequence Classification3.1.4 Token Classification3.1.5 Text-to-Image Ge…...

FFmpeg将编码后数据保存成mp4

以下测试代码实现的功能是:持续从内存块中获取原始数据,然后依次进行解码、编码、最后保存成mp4视频文件。 可保存成单个视频文件,也可指定每个视频文件的总帧数,保存多个视频文件。 为了便于查看和修改,这里将可独立的…...

设置VsCode 将打开的多个文件分行(栏)排列,实现全部显示

目录 1. 前言 2. 设置VsCode 多文件分行(栏)排列显示 1. 前言 主流编程IDE几乎都有排列切换选择所要查看的文件功能,如下为Visual Studio 2022的该功能界面: 图 1 图 2 当在Visual Studio 2022打开很多文件时,可以按照图1、图2所示找到自…...

Vue.js2+Cesium1.103.0 六、标绘与测量

Vue.js2Cesium1.103.0 六、标绘与测量 点,线,面的绘制,可实时编辑图形,点击折线或多边形边的中心点,可进行添加线段移动顶点位置等操作,并同时计算出点的经纬度,折线的距离和多边形的面积。 De…...

【redis 延时队列】使用go-redis的list做异步,生产消费者模式

分享一个用到的,使用go-redis的list做异步,生产消费者模式,接着再用 go 协程去检测队列里是否有东西去消费 如果队列为空,就会一直pop,空轮询导致 cpu 资源浪费和redis qps无效升高,所以可以通过 time.Sec…...

激光焊接塑料多点测试全画面穿透率测试仪

工程塑料由于其具有高比强度、电绝缘性、耐磨性、耐腐蚀性等优点,已广泛应用于各个重要领域。另一方面,工程塑料还具有良好的焊接性,是制成复合材料的基体材料的优良选择,因此目前已成为国内外新型复合材料的研究热点。 工程塑料…...

用 Uno 当烧录器给 atmega328 烧录 bootloader

用 Uno 当烧录器给 atmega328 烧录 bootloader date: 2023-8-10 https://backmountaindevil.github.io/#/hackaday/arduino/isp 引脚接线 把两个板子的 11(MOSI)、12(MISO)、13(SCK)、5V、GND 两两相连,还要把 Uno(烧录器)的 10 接到atmeg…...

spring boot策略模式实用: 告警模块为例

spring boot策略模式实用: 告警模块 0 涉及知识点 策略模式, 模板方法, 代理, 多态, 反射 1 需求概括 场景: 每隔一段时间, 会获取设备运行数据, 如通过温湿度计获取到当前环境温湿度;需求: 对获取回来的进行分析, 超过配置的阈值需要产生对应的告警 2 方案设计 告警的类…...

Camunda 7.x 系列【10】使用 Rest API 运行流程实例

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 前言2. 官方接口文档3. 本地接口文档3.1 Postman3.2 Camunda Platform Run Swagger3.3 S…...

Python-OpenCV中的图像处理-边缘检测

Python-OpenCV中的图像处理-边缘检测 边缘检测Canny算子 边缘检测Canny算子 Canny 边缘检测是一种非常流行的边缘检测算法,是 John F.Canny 在 1986 年提出的。它是一个有很多步构成的算法:噪声去除、计算图像梯度、非极大值抑制、滞后阀值等。 Canny(i…...

一文了解Java序列化和反序列化:对象的存储与传输

一文了解Java序列化和反序列化:对象的存储与传输 作者:Stevedash 发布时间:2023年8月9日 21点30分 前言 Java序列化是一项强大而重要的技术,它允许我们将对象转换为字节流,以便在存储、传输和重建时使用。在本文中&…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解&#xff1a;从决策树开始理解三、解法一&#xff1a;二叉决策树 DFS四、解法二&#xff1a;组合式回溯写法&#xff08;推荐&#xff09;五、解法对比 递归算法是编程中一种非常强大且常见的思想&#xff0c;它能够优雅地解决很多复杂的…...