飞天加速计划·高校学生在家实践活动分享

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云服务器ECS,u1 2核4GB 1个月
简介: 本人大学电子商务专业,慢慢的在b站上看到了很多java的教学视频,挺感兴趣的,就渐渐的跟着视频学习。再了解到后续项目部署需要用到虚拟机运行Linux环境来学习,我就想到了阿里云服务器可以解决这个问题,于是就看到了这个学生可以免费体验使用云服务的活动,现在仍在不断的探索ing

第二部分—学习记录

(阿里云ECS使用攻略,可记录描写在云服务器使用过程中发现的使用小技巧,分享提高效率的方法或者工具,或者在云服务器ecs使用中遇到了什么问题,通过什么方式解决的。)

1.学习java—搭建基础程序运行环境前准备:

1.1学习使用设备及软件情况:

​ M1 MacBook Air + Termius(远程连接服务器软件)+ CentOS 7.4 64位

1.2Linux系统下目录一览:

image-20220314215926129

/bin存放二进制可执行文件
/boot存放系统引导时使用的各种文件dev存放设备文件
/etc存放系统配置文件
/home存放系统用户的文件
/ib存放程序运行所需的共享库和内核模块opt额外安装的可选应用程序包所放置的位置
/root超级用户目录
/sbin存放二进制可执行文件,只有root用户才能访问tmp存放临时文件
/usr存放系统应用程序
/var存放运行时需要改变数据的文件,例如日志文件

1.3上传文件至服务器:

1.3.1使用Termius自带的SFTP功能从本级上传文件至云服务器指定目录下

image-20220314214925379

本图演示为将本机中的JDK上传至虚拟机root目录下

image-20220312164005612

1.3.2使用阿里云工作台下的发送远程文件上传至云服务器中

image-20220314215312235

1.4设置云服务器安全组(根据后续安装的软件开放需要的端口)

image-20220312170002561

2.在Linux系统中安装软件:

2.1安装JDK

1). 上传安装包

将jdk的二进制发布包上传到Linux。本人使用的jdk-8u171-linux-x64.tar.gz 版本

2). 解压安装包

执行如下指令,将上传上来的压缩包进行解压,并通过-C参数指定解压文件存放目录为 /usr/local。

tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local 
3). 配置环境变量

使用vim命令修改/etc/profile文件,在文件末尾加入如下配置

进入/usr/local/你解压的jdk包使用指令pwd查看当前路径

image-20220314221104783

JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH

具体操作指令如下:

1). 编辑/etc/profile文件,进入命令模式
    vim /etc/profile

2). 在命令模式中,输入指令 G (切换到文件最后一行),gg(回到最上面一行)
    G 
    gg 

3). 在命令模式中输入 i/a/o 进入插入模式,然后切换到文件最后一行
    i

4). 将上述的配置拷贝到文件中
    JAVA_HOME=/usr/local/jdk1.8.0_171
    PATH=$JAVA_HOME/bin:$PATH
    
5). 从插入模式,切换到指令模式
    ESC
    
6). 按:进入底行模式,然后输入wq,回车保存
    :wq
4). 重新加载profile文件

为了使更改的配置立即生效,需要重新加载profile文件,执行命令:

source /etc/profile
5). 检查安装是否成功
java -version (查看当前安装的java版本)

image-20220314221256589

2.2安装Tomcat

具体安装步骤如下:

1). 上传安装包

将Tomcat的二进制发布包上传到Linux(与前面上传JDK安装包步骤一致)。

2). 解压安装包

将上传上来的安装包解压到指定目录/usr/local下,执行命令为

tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local
3). 启动/关闭Tomcat

进入Tomcat的bin目录启动服务。执行命令为:

cd /usr/local/apache-tomcat-7.0.57/

cd bin

sh startup.sh或者./startup.sh

关闭tomcat为:
sh shutdown.sh 或者 ./shutdown.sh
4).上述我们将Tomcat启动完成之后,并不能知道Tomcat是否正常运行,那么我们验证Tomcat启动是否成功,有多种方式,我们这里主要介绍常见的两种方式:
4-1). 查看启动日志

Tomcat的启动日志输出在Tomcat的安装目录下的logs目录中,Tomcat的启动及运行日志文件名为 catalina.out,所以我们查看Tomcat启动日志,主要可以通过两条指令,如下:

1). 分页查询Tomcat的日志信息
more /usr/local/apache-tomcat-7.0.57/logs/catalina.out

2). 查询日志文件尾部的50行记录
tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out

只要Tomcat在启动的过程中,日志输出没有报错,基本可以判定Tomcat启动成功了。

4-2). 查询系统进程

我们也可以通过Linux系统的查看系统进程的指令,来判定Tomcat进程是否存在,从而判定Tomcat是否启动。执行如下指令:

ps -ef | grep tomcat 
5). 安全组中开启8080端口并且设置授权对象ip地址

2.3安装mysql

我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:

1). 检测当前系统是否安装过MySQL相关数据库

需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:

rpm -qa                            查询当前系统中安装的所有软件
rpm -qa | grep mysql            查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb            查询当前系统中安装的名称带mariadb的软件

通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询;通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

2). 卸载现有的MySQL数据库

在rpm中,卸载软件的语法为:

rpm -e --nodeps  软件名称

那么,我们就可以通过指令,卸载 mariadb,具体指令为:

rpm -e --nodeps  mariadb-libs-5.5.60-1.el7_5.x86_64 

卸载后再执行rpm -qa | grep mariadb命令再次查询maridb,查不到证明卸载成功!
3). 将资料中提供的MySQL安装包上传到Linux并解压

将mysql解压到/usr/local/mysql

mkdir /usr/local/mysql 
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

image-20220314230458855

4). 安装顺序安装rpm安装包
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
5).MySQL启动

MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。

systemctl status mysqld        查看mysql服务状态
systemctl start mysqld        启动mysql服务
systemctl stop mysqld        停止mysql服务

我们可以通过如下两种方式,来判定mysql是否启动:

netstat -tunlp                    查看已经启动的服务
netstat -tunlp | grep mysql        查看mysql的服务信息

ps –ef | grep mysql                查看mysql进程
6)MySQL登录
6-1)查阅临时密码

rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。

可以执行如下指令:

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

复制日志中的临时密码登录
6-2)登录MySQL

获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的密码,为root设置一个新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在windows上来访问这台MySQL数据库。

执行如下指令:

登录mysql(复制日志中的临时密码登录)
    mysql -uroot -p                                

修改密码
    set global validate_password_length=填入最低位数;            设置密码长度最低位数
    set global validate_password_policy=LOW;        设置密码安全等级低,便于密码可以修改成root
    set password = password('此处填入设置的密码');                设置密码
    
开启访问权限
    grant all on *.* to 'root'@'%' identified by 'root';
    flush privileges;

当然我们也可以使用安装在外部远程连接linux上的MySQL。

==注意: 要想在外部访问MySQL,还需要在安全组中开放3306端口==

6-3)修改MySQL默认编码
vim /etc/my.cnf
# 修改 /etc/my.cnf 文件
[mysqld]
init_connect = 'SET NAMES utf8'
character-set-server = utf8
collation-server =utf8_general_ci

2.4安装maven

由于我们的工程是maven工程,我们要想进行项目的编译打包,需要用到maven的指令,所以需要安装maven。具体操作步骤如下:

1). 上传maven的安装包到指定目录
2). 解压maven安装包到/usr/local目录
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
3). 在/etc/profile配置文件中配置环境变量
vim /etc/profile

修改配置文件,进入到命令模式,按G切换到最后一行,按a/i/o进入插入模式,然后在最后加入如下内容 :
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

然后按ESC进入到命令模式,输入 :wq 保存并退出

使配置文件生效:
source /etc/profile

检查是否生效:
mvn -v
4). 修改maven的settings.xml配置文件,配置本地仓库地址
切换目录
cd /usr/local/apache-maven-3.5.4/conf

编辑settings.xml配置文件
vim settings.xml

在其中增加如下配置,配置本地仓库地址:
<localRepository>/usr/local/repo</localRepository>

也可以在settings.xml中的标签中,配置阿里云的私服:

<mirror> 
    <id>alimaven</id> 
    <mirrorOf>central</mirrorOf> 
    <name>aliyun maven</name> 
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror> 

2.5安装git

1). Git软件安装

通过yum命令在线安装git,执行如下指令:

yum list git            列出git安装包
yum install git            在线安装git

git --version

通过上述指令,安装好git之后,我们就可以通过 git --version去验证git的环境。

3.安装遇到的问题及解决方案:

1).安装mysql时遇到的问题
1-1)rpm安装解压的包时,会提示缺少net-tools依赖,可以通过指令(yum update)升级现有软件及系统内核
yum update net-tools
1-2)安装mysql警告 warning: mysql-community-server-5.7.19-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key;

在安装时后面加上 --force --nodeps可以解决

rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm --force --nodeps

出处:https://blog.csdn.net/jgj0129/article/details/83312982

1-3)安装时提示错误:Centos7 mysql5.7.28 Unit mysqld.service entered failed state.

修改配置文件:

/etc/my.cnf 里面默认是

datadir=/var/lib/mysql

在 /var/lib/mysql创建个data目录 datadir改成

datadir=/var/lib/mysql/data
systemctl restart mysqld.service

出处:https://blog.csdn.net/hai1124948893/article/details/106413747/

第三部分

(收获总结,展望未来。通过“高校学生在家实践”有哪些收获,或者在使用过程中难忘的瞬间与事件,也可以聊聊自己在这过程中的成长与变化,立足当下,展望未来。)

本人在一开始使用Linux不习惯的时候,安装软件有时候会失败,然后就上网各种查找解决方案,到最后可能软件问题没有解决反倒不小心误删了一些其他的文件,一头雾水。这个时候就可以合理运用服务器的快照功能了,可以随时回档,就不用怕一个软件装错了,又要重头开始了,对于小白来说真的挺高效的。还有很多功能需要花时间慢慢的摸索,阿里云开发者社区也可以找到很多问题的解决方案,每天进步一点点,加油!

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
弹性计算 NoSQL 网络安全
飞天加速计划·高校学生在家实践
我是辽宁科技大学电子与信息工程学院,电气工程及其自动化的大一学生,通过老师的介绍了解到“飞天加速计划·高校学生在家实践”活动,经过自己一系列了解后,知道这是对大学生开设计划,免费提供高校生领取ECS服务,初领2周续领续领2个月,进行学习。在完成前几个任务之后,就获得了为期两周的云服务器使用权。试用期间,我通过xShell进行远程服务器的连接,参考阿里云的学习文档,最终有了自己一台服务器,感谢阿里云的飞天速计划给我了一个良好习的平台。
|
数据可视化 程序员 Linux
飞天加速计划·高校学生在家实践
飞天加速计划·高校学生在家实践
80 0
|
弹性计算 开发框架 关系型数据库
“飞天加速计划·高校学生在家实践”
飞天加速计划的开展,对学习信息技术类的同学,带来了许多的便利。
114 0
|
弹性计算 人机交互
我与飞天加速计划·高校学生在家实践
在网页设计课中老师向我们推荐了阿里云飞天加速计划,并手把手教我们领取服务器,创建自己的第一个网站,虽然在使用过程中遇到了许多困难,但在老师的帮助下渐渐熟悉了用法,并且愈发喜爱上了使用阿里云ECS。
98 0
|
弹性计算 程序员 Linux
使用“飞天加速计划·高校学生在家实践”的心得
“飞天加速计划·高校学生在家实践”的使用心得
|
1天前
|
存储 关系型数据库 MySQL
数据管理的艺术:PolarDB开源版详评与实战部署策略(一)
PolarDB-X是阿里巴巴自研的高性能云原生分布式数据库,基于共享存储的Shared-nothing架构,支持MySQL生态,具备金融级高可用、分布式水平扩展、HTAP混合负载等能力。它通过CN(计算节点)和DN(存储节点)实现计算与存储分离,保证数据强一致性,并支持全局二级索引和多主多写。PolarDB-X开源版提供更高程度的定制化和控制权,适合追求技术自主性和成本优化的开发者。部署方式包括RPM包、PXD工具和Kubernetes,其中PXD工具提供了一键部署的便利性。
34599 10
|
5天前
|
关系型数据库 Serverless 分布式数据库
高峰无忧,探索PolarDB PG版Serverless的弹性魅力
在数字经济时代,数据库成为企业命脉,面对爆炸式增长的数据,企业面临管理挑战。云原生和Serverless技术革新数据库领域,PolarDB PG Serverless作为阿里云的云原生数据库解决方案,融合Serverless与PostgreSQL,实现自动弹性扩展,按需计费,降低运维成本。它通过计算与存储分离技术,提供高可用性、灾备策略和简化运维。PolarDB PG Serverless智能应变业务峰值,实时监控与调整资源,确保性能稳定。通过免费体验,用户可观察其弹性性能和价格力,感受技术优势。
|
15天前
|
存储 缓存 监控
你的Redis真的变慢了吗?性能优化如何做
本文先讲述了Redis变慢的判别方法,后面讲述了如何提升性能。
102242 5
|
15天前
|
机器学习/深度学习 并行计算 算法
Transformer 一起动手编码学原理
学习Transformer,快来跟着作者动手写一个。
94253 8
|
14天前
|
存储 SQL Apache
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读