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

本文主要是介绍阿里云快速部署开发环境 (Apache + Mysql8.0+Redis7.0.x)基于CentOS8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

  • 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)基于CentOS8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/791107

相关文章

浅谈mysql的not exists走不走索引

《浅谈mysql的notexists走不走索引》在MySQL中,​NOTEXISTS子句是否使用索引取决于子查询中关联字段是否建立了合适的索引,下面就来介绍一下mysql的notexists走不走索... 在mysql中,​NOT EXISTS子句是否使用索引取决于子查询中关联字段是否建立了合适的索引。以下

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语