Ecs使用感受

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云防火墙,500元 1000GB
简介: Ecs使用感受

本人是软件工程专业的一名大四学生,通过同学分享的方式了解到“飞天加速计划·高校学生在家实践”活动,以下向大家分享本人在使用服务器过程中安装软件和部署项目的笔记(亲测可用)


1. 安装配置MySQL

1.1 安装

1.1.1 下载安装包

由于 centos的yum 源中默认没有mysql,所以没有办法使用yum直接安装,两种解决方案:

①去MySQL官网中下载YUM源rpm安装包:MySQL :: Download MySQL Yum Repository

②执行以下命令下载YUM源rpm安装包

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

1.1.2 安装 yum repo文件

注:第一种用过,第二种未使用过,效果未知

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

yum localinstall mysql80-community-release-el7-1.noarch.rpm

会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo

1.1.3 更新yum源

yum clean all

yum makecache

1.1.4 查看mysql yum仓库中mysql版本

yum repolist all | grep mysql

可以看到 MySQL 5.5 5.6 5.7为禁用状态 而MySQL 8.0为启用状态;

如果不想安装mysql8.0的版本我们可以按下面操作去做,要是安装的mysql8.0版本这步可以略过。

使用 yum-config-manager 命令修改相应的版本为启用状态,最新版本为禁用状态:

yum-config-manager --disable mysql80-community

yum-config-manager --enable mysql57-community

或者

可以编辑mysql repo文件,将相应版本下的enabled改成 1 即可:

cat /etc/yum.repos.d/mysql-community.repo

1.1.5 安装mysql 命令
1.1.5.1 安装

yum install mysql-community-server

若运行安装时出现以下错误(GPG Keys秘钥错误):

安装mysql报错(GPG Keys秘钥错误).jpg

可以在运行安装之前导入密钥,执行如下命令:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

1.1.5.2 开启mysql服务

systemctl start mysqld.service

1.1.5.3 设置开机自启

systemctl enable mysqld.service

1.1.5.4 附上mysql服务操作

#启动mysql

systemctl start mysqld.service

#结束

systemctl stop mysqld.service

#重启

systemctl restart mysqld.service

#开机自启

systemctl enable mysqld.service

1.1.6 获取初始密码登录mysql

mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中

cat /var/log/mysqld.log | grep password

1.1.7 首次登录并修改密码

使用初始密码登录mysql

mysql -uroot -p

首次登陆更改密码:

ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";

注:更改的密码要求为:至少8位,且必须同时包含数字、大写字母、小写字母

若不想设置过于复杂的密码可以降低设置密码的强度等级(方法详见1.2),但不建议降低。

1.2 密码策略

1.2.1 查看 mysql 初始的密码策略

输入语句 SHOW VARIABLES LIKE 'validate_password%'; 进行查看,(如是第一次陆,则需要更改密码后才能查看)

1.2.2 设置密码的验证强度等级

设置 validate_password_policy 的全局参数为 LOW 即可

输入设值语句 set global validate_password_policy=LOW; 进行设置

注:mysql8.0版本必须符合长度(默认是8位),且必须含有数字,小写或大写字母,特殊字符。因为实在我本地自己的库,所以我修改了密码最小长度和密码的策略

mysql 8.0以上 新版本账号密码策略修改和密码修改

老版本的密码策略变量:validate_password_policy 这个参数用于控制validate_password的验证策略 0-->low 1-->MEDIUM 2-->strong。

validate_password_length密码长度的最小值(这个值最小要是4)。

validate_password_number_count 密码中数字的最小个数。

validate_password_mixed_case_count大小写的最小个数。

validate_password_special_char_count 特殊字符的最小个数。

validate_password_dictionary_file 字典文件

8.0后要注意密码策略变量变化

validate_password.check_user_name ON

validate_password.dictionary_file

validate_password.length

validate_password.mixed_case_count

validate_password.number_count

validate_password.policy

validate_password.special_char_count

如:validate_password_policy 变为validate_password.policy,所以

set global validate_password_policy=0;变为 set global validate_password.policy=0 ;

密码最小长度(4):

set global validate_password_length=6; 变为 set global validate_password.length=4

设置完毕密码策略后,重新执行修改密码的命令,进行修改密码即可

1.3 远程设置

1.3.1 远程设置

mysql> use mysql;

mysql> update user set host='%' where user='root';

#以下命令用于授权用户名的权限,赋予任何主机访问数据的权限,视情况执行

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

1.3.2 开放3306端口
1.3.2.1 查看已经开放的端口

firewall-cmd --list-ports

1.3.2.2 开启端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

命令含义:–zone  #作用域

–add-port=3306/tcp  #添加端口,格式为:端口/通讯协议

–permanent  #永久生效,没有此参数重启后失效

1.3.2.3 重启防火墙

开放后需要重启方可生效

firewall-cmd --reload

1.3.2.4 Navicat连接错误

端口开放后就可以进行数据库连接操作了,在使用Navicat连接 Mysql 8.0.15可能会出现问题 Client does not support authentication protocol 错误解决方法:

#修改加密规则

ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

#更新一下用户的密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

#刷新权限

FLUSH PRIVILEGES;

1.3.2.5 阿里云服务器部署

若在阿里云服务器上配置安装mysql,需到阿里云工作台中的 网络与安全 中的 安全组 中将3306端口开放。(入方向指外部访问云服务器,出方向则相反,出方向默认是全部开放的,无需配置)

2. 防火墙相关命令

systemctl start firewalld.service #开启服务

systemctl status firewalld #查看FirewallD防火墙状态

firewall-cmd --state #查看防火墙状态,是否是running

systemctl stop firewalld.service #临时关闭防火墙

systemctl enable firewalld #设置开机启动防火墙

systemctl disable firewalld #设置禁止开机启动防火墙

firewall-cmd --permanent --query-port=80/tcp #查看80端口有没开放

firewall-cmd --reload #重新载入配置,比如添加规则之后,需要执行此命令

firewall-cmd --query-service ftp #查看ftp服务是否放行,返回yes或者no

firewall-cmd --add-service=ftp --permanent #永久开放ftp服务

firewall-cmd --remove-service=ftp --permanent #永久移除ftp服务

firewall-cmd --add-port=80/tcp --permanent #永久添加80端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent #移除80端口

参数含义:

--zone   #作用域

--permanent   #永久生效,没有此参数重启后失效

3. 部署Node.js环境(NVM方式)

3.1 安装git

yum install git -y

3.2 克隆NVM源码到本地的~/.nvm,并检查最新版本

git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`

3.3 配置NVM环境变量

echo ". ~/.nvm/nvm.sh" >> /etc/profile

source /etc/profile

3.4 查看Node.js版本

nvm list-remote

3.5 安装Node.js版本

nvm install v14.0.0

3.6 查看已安装的所有node.js版本

nvm ls

3.7 切换node.js版本

nvm use 版本号

例:nvm use v14.0.0

3.8 部署(此法不得行,断开连接后程序也关闭了)

:记得先去服务器工作台配置安全组,把对应端口开放,同样的服务器中的防火墙对应的端口也需要开放,开放后记得重启防火墙!!!

① 将项目上传至服务器目录中(上传前可将 node_modules 依赖文件夹删除,加快上传速度)

② 修改  vue.config.js  文件中的 port 端口号的值,不修改默认为8080端口,也可在上传前先修改好

③ 执行 npm install 命令下载依赖

④ 执行 npm run build 命令将项目编译打包

⑤ 执行 npm run serve 命令启动项目

4. Linux服务器部署vue项目

4.1 安装所需环境

4.1.1 安装gcc

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境

yum install gcc-c++

4.1.2 安装PCRE pcre-devel

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库

yum install -y pcre pcre-devel

4.1.3 安装zlib

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos7 上安装 zlib 库。

yum install -y zlib zlib-devel

4.1.4 安装openssl

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http)

yum install -y openssl openssl-devel

4.2 安装Nginx

4.2.1 下载

wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

4.2.2 解压

tar -zxvf nginx-1.18.0.tar.gz

cd nginx-1.18.0

4.2.3 配置

./configure

4.2.4 编译安装

make

make install

4.2.5 查找安装路径

whereis nginx

#进入安装路径

cd /usr/local/nginx

4.2.6 启动、停止nginx

#进入sbin文件

cd sbin

#启动

./nginx

#Stop 是快速关闭,不管有没有正在处理的请求

./nginx -s stop

#Quit 是一个优雅的关闭方式,Nginx在退出前完成已经接受的连接请求

./nginx -s quit

#重启

./nginx -s reload

4.2.7 查看nginx进程

ps -ef | grep nginx

注:安装完后记得在云服务器和防火墙开启对应端口,安装后默认为80端口;

4.3 部署

4.3.1 打包

# 进入项目根目录执行以下命令

npm run build

打包成功后会在根目录生成一个 dist 文件夹

4.3.2 在服务器中创建项目目录

mkdir /home/vue_project/test

4.3.3 放置打包文件至服务器

将打包后的 dist 文件夹上传至服务器刚才创建的文件夹中,即 /home/vue_project/test

4.3.4 配置域名映射

#进入nginx配置文件目录,找到nginx的配置文件nginx.conf

cd /usr/local/nginx/conf/

#直接修改

vim nginx.conf

添加一个server选项,复制上面原本的在原来基础上修改即可

#listen为监听的端口

#server_name为域名

#location是访问地址的设置,locahost也可以用服务器ip代替

#root 就是你打包后vue的文件夹地址

#index 指的你要访问的页面

Nginx部署的config配置文件.jpg

4.3.5 重新加载配置文件(修改完成后)

cd /usr/local/nginx/sbin/

./nginx -s reload

注:在config文件中配置的端口号,在防火墙和安全组中也需要对应的开放

5.安装JDK

5.1 将安装包上传至服务器中

可使用xftp连接线上服务器,然后将本地文件上传至服务器中

5.2 创建安装文件夹

mkdir -p /export/install

5.3 解压安装包至刚才创建的安装文件夹中

#注意:运行此命令时应当处于安装包所在路径中(或将./替换成安装包所处的绝对路径)

tar -zxvf ./jdk-8u144-linux-x64.tar.gz -C /export/install

5.4 配置环境变量

5.4.1 编辑文件

vim /etc/profile.d/java.sh

5.4.2 将内容复制到文件中

exportJAVA_HOME=/export/install/jdk1.8.0_144

exportPATH=$PATH:$JAVA_HOME/bin

5.4.3 更新profile文件

source /etc/profile

5.5 检查版本

java -version

若输出 java 的版本号,即为安装成功


最后感谢阿里云平台为学生党提供的“高校学生在家实践”活动,让还未工作的我们能够接触到一些工作之后才能接触到的技术,感谢阿里云平台提供的相关教程视频

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
存储 弹性计算 大数据
阿里云服务器怎么样?谈谈阿里云服务器的使用感受
阿里云服务器ECS是一种安全可靠的云计算服务,具备弹性伸缩能力,支持多种实例规格如ECS经济型e、通用算力型u1、计算型c7等。用户可根据需求选择不同计算架构、存储类型(云盘、本地盘)及网络方案(VPC专有网络)。ECS提供快照备份、多种镜像类型及灵活的计费模式(包年包月、按量付费等)。阿里云还提供免费试用计划,适用于个人和企业用户。ECS优势包括稳定、弹性、安全性高及高性能等特点。广泛应用于Web应用、在线游戏、大数据分析及深度学习等多个场景。知名用户包括新浪微博、火花思维等。
|
7月前
|
弹性计算 运维 关系型数据库
ECS使用感受
ECS使用感受
|
7月前
|
弹性计算 运维 关系型数据库
ECS使用感受
ECS使用感受
|
弹性计算
云服务器ECS使用感受
通过使用云服务器ECS,我仿佛打开了新世界的大门,通过几个云上开发学习项目,我对云服务器有了一个基本了解,并能根据教程制作个人简历、搭建云上博客,希望未来我还能继续深入学习云上开发,感受云服务器ECS的魅力。
云服务器ECS使用感受
|
弹性计算 Ubuntu Linux
阿里云平台的云服务器ECS使用感受
利用阿里云平台的云服务器ECS编写了个人简历,在这过程中完成了网页运行环境的安装、搭建云端开发环境等,对阿里云平台的云服务器ECS有了更加深刻的了解和认识。
206 0
阿里云平台的云服务器ECS使用感受
|
存储 弹性计算 Ubuntu
ECS使用感受
很开心在这里分享我最近一段时间使用ECS的体验感受。我是一名来自上海大学通信学院的学生,对于通信学院的学生来讲,一套稳定可靠的服务器是十分重要的,感谢阿里云给我们免费使用的机会。
|
弹性计算 数据可视化 Java
ECS云服务器使用感受
放假在家无聊,参加了阿里云的高校计划
ECS云服务器使用感受
|
存储 弹性计算 运维
飞天加速计划·高校学生在家实践-------ECS云计算器免费使用感受
计算机科学与技术专业Java后端开发大四学生ECS云计算器免费使用感受以及分享
310 0
飞天加速计划·高校学生在家实践-------ECS云计算器免费使用感受
|
云安全 弹性计算 监控
ECS使用感受
阿里云服务器初体验
|
弹性计算 数据可视化 前端开发
云服务器ECS使用感受
通过云翼计划领取一台ECS,Centos7系统。第一次做前后端分离的项目,最初是想把项目部署到Linux上,方便前端拿到接口文档。我在Linux上完成了java环境的基本搭建。如mysql数据库,Tomcat服务器。实现了远程连接,这样更方便于项目开发的合作。
132 0