当前位置: 首页 > 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序列化是一项强大而重要的技术,它允许我们将对象转换为字节流,以便在存储、传输和重建时使用。在本文中&…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

如何在网页里填写 PDF 表格?

有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据&#xff…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...