飞天加速计划——高校学生在家实践体验报告

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 介绍了与阿里云服务器的相遇相知过程;介绍了阿里云服务器的体验和Web部署过程;介绍了使用阿里云的感悟。

第一部分——与阿里云服务器的相遇

大家好,我就读于机械专业,寒假在家想学习Linux操作,为接下来找互联网工作做准备。试用了2~3个服务器后,发现阿里云服务器提供的功能最多、社区最完善、试用时长最久。正值冬奥前,我参加了《上云第一课,冬季实战营》活动,分别有《从零到一上手玩转云服务器》、《Linux操作系统实战入门》、《MySQL数据库进阶实战》、《零基础容器技术实战》、以及《轻松入门学习大数据》。

第二部分——阿里云ECS使用攻略

1、通过XShell远程登录云服务器,可以方便地操作服务器;

2、通过filezilla软件建立本地电脑与服务器之间的连接,可以方便传输文件,提高了部署效率;

3、如果使用服务器编写C/C++程序,可以用VSCode通过SSH远程服务器的环境,实现在本地电脑编写程序,程序文件保存到云服务器,并在服务器执行,极大提高了开发效率。

4、服务器部署过程

4.1nginx安装

4.2JDK安装

(1)查看本机是否自带java:rpm -qa|grep java

(2)有则卸载:rpm -e --nodeps java*

(3)查看yum中jdk版本:yum search jdk

发现有java11,列出java11:yum list |grep java-11

(4)只需要java-11-openjdk-headless、java-11-openjdk和java-11-openjdk-devel

yum install -y java-11-openjdk-11.0.14.0.9-1.el7_9.x86_64 java-11-openjdk-devel-11.0.14.0.9-1.el7_9.x86_64 java-11-openjdk-headless-11.0.14.0.9-1.el7_9.x86_64

各个centos版本的jdk版本不一样,输入完yum install -y后挨个用鼠标选择包名后按shift+ins键就可以复制到命令行了,避免手打打错字。

(5)java -version就可以出现版本信息

(6)将java版本信息提前保存,也就是这个信息,java-11-openjdk-11.0.14.0.9-1.el7_9.x86_64

(7)配置环境变量

安装完之后,默认的安装目录是在: /usr/lib/jvm/

编辑配置文件,设置环境变量:

vi /etc/profile

在profile文件中添加如下内容

set java environment

JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.14.0.9-1.el7_9.x86_64

JRE_HOME=$JAVA_HOME

CLASS_PATH=.:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

保存退出,让修改生效:

source /etc/profile

(8)验证

java -version

javac -version

cd $JAVA_HOME

4.3MySQL安装

(1)进入安装位置

cd /usr/src

(2)安装yum源

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

(3)更新yum源

yum clean all

yum makecache

(4)开始安装MySQL,漫长的等待

yum install mysql-community-server

(5)启动MySQL

systemctl start mysqld

(6)启动成功后可以查看初始化密码随机生成的

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

(7)登录MySQL修改mysql用户密码

mysql -u root -p

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';

(8)远程设置

mysql> use mysql;

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

(9)授权用户名的权限,赋予任何主机访问数据的权限

mysql> GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION;#8.0后会报错

mysql> FLUSH PRIVILEGES;

(10)如果第24条命令报错,就用这个方法

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

(11)如果还报错

update user set host = '%' where user = 'root' and host='localhost';

(12)再次给用户授权

GRANT ALL ON . TO 'root'@'%';

(13)刷新

flush privileges;    

(14)如果用navicat连接还是报错:Client does not support authentication protocol requested by server; 则

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

(15)如果用navicat去远程链接我虚拟机中的MySQL失败,就在虚拟机中查看网络端口信息:

netstat -ntpl

查看防火墙的状态,查看3306端口

iptables -vnL

如果3306是drop状态,或者根本无3306端口,说明3306端口设置问题

解决办法:

先启动服务,

service mysqld start;

然后开放防火墙端口,添加需要监听的端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

开启3306端口监听。

(16)navicat连接服务器里的数据库

新建一个数据库,数据库名字与项目使用的数据库名字一致,例如student_management,字符集是utf-8mb4,排序规则为utf8mb4_unicode_ci

然后导入sql命令,即可。

4.4nginx配置

(1)首先启动nginx,直接输入nginx启动

nginx

(2)查看虚拟机是否开放了80端口

iptables -vnL

如果没开放,或者没有80端口,则开启80端口

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

(3)进入nginx文件夹

cd /etc/nginx

使用ls查看,有conf.d文件夹和nginx.conf文件

cd进入conf.d,里面有defaul.conf文件

nginx.conf和defaul.conf的关系是,include /etc/nginx/conf.d/*.conf;

即nginx.conf 文件会引用 conf.d文件夹下的所有配置文件,包括defaul.conf

(4)设置nginx.conf

在nginx.conf 文件中,只需要设置user

user的格式为:user 用户名 组名,例如user root root

如果用户名组名相同,就只写一个。

a)设置前端location /

location / {

root   /usr/share/nginx/www/vuestudent/vuestudent;
    try_files $uri $uri/ /index.html last;
    index  index.html index.htm;
}

root 那行填vue项目文件夹的路径

try_files 是新加的,照写,目的是刷新的时候不会404

b)设置后端location

加上location /api这个块,与前端location /块在同一级别,/api是根据前端vue.config.js中跨域配置中的拦截器来设置的

location /api {

proxy_pass http://localhost:9091/;
}

proxy_pass后面就是后端的地址

保存退出后,重启nginx配置

nginx -s reload

4.5运行后端

使用后台运行,不会弹出日志

nohup java -jar jar包名称.jar &

若出现nohup: 忽略输入并把输出追加到"nohup.out"则是正常的

若nohup: 忽略输入重定向错误到标准输出端

则使用下面的命令

nohup java -jar jar包名称.jar >/dev/null 2>&1

然后查看是否运行成功

tail -f nohup.out

如果运行成功,此时按ctrl+c,后端服务也不会结束。

4.6结束后端

先查找后端项目的进程id,由于后端项目运行在9091端口,因此

netstat -nlp|grep 9091

9091是系统启动访问的端口, 由此可得到9578 是java运行的pid,

如果要结束就用kill命令

kill 9578

注意:

命令结尾没有 “&” ,则变成 “java -jar XXX.jar ” ,表示在当前ssh窗口,可按CTRL + C打断程序运行,或者直接关闭窗口,则程序直接退出

命令结尾添加 “&” ,则变成 “java -jar XXX.jar &” ,表示在当窗口关闭时,程序才会中止运行。&代表让该命令在后台执行。

4.7部署到阿里云的注意事项

(1)需要在安全组开放22端口,否则使用SSH传输文件夹时可能会崩

(2)需要在安全组开放80端口,否则无法访问服务器

(3)需要在安全组开放3306端口,否则无法访问数据库

(4)图片未显示。图片使用了中文名称,改成英文

4.8数据库命名规范

(1)sql中,表名、字段名通通小写加下划线

(2)后端中,表名采用小写加下划线,字段名(属性)采用驼峰命名

第三部分——收获总结,展望未来

首先感谢阿里云这个平台为我们提供了优质且免费的云服务器实验环境,在学习理论的同时,能立即通过服务器进行操作,一步一步地拨开云服务器的奥秘。在此之前我还在网上搜索免费的云服务器,但只是试用的,而且申请了服务器后就不知道要往哪方面进行学习。后来我发现了阿里云冬季实战营活动和“高校学生在家实践”获得,既能免费使用一段时间的云服务器资源又能在这段时间内学习云服务器的知识和技能,完美解决了我这个云小白的烦恼。最后,祝阿里云越来越好!

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
弹性计算 开发工具 C++
飞天加速计划实践报告
在学习了ecs服务器之后,我有了很大的感想。我作为一名大一新生,通过老师的介绍和讲解,学习到了上云。老师向我们展示了ecs服务器的上云模拟操作。我对此有了更深入的了解,它是一个很好的云平台,飞天加速计划让我明白了云平台的优势和先进。
204 0
|
XML 弹性计算 关系型数据库
|
弹性计算 Java 关系型数据库
“飞天加速计划·在家实践”体验心得
在家上课的这段时间,体验了一下云服务器ECS。
|
弹性计算 人工智能 安全
高校学生—阿里云飞天加速计划2.0使用体验报告
此次使用体验报告主要包含以下内容: 1.远程SSH连接 2.搭建FTP服务 3.使用第三方工具:“宝塔面板”搭建HTTP服务 4.实践总结 5.个人作品展示
高校学生—阿里云飞天加速计划2.0使用体验报告
|
运维 监控 网络协议
阿里云 飞天加速计划·高校学生在家实践 短期使用体验
两周 飞天加速计划·高校学生在家实践 的个人使用体验,包括自己常用软件和踩坑分享。
180 0
阿里云 飞天加速计划·高校学生在家实践 短期使用体验
|
弹性计算
”飞天加速计划·高校学生在家实践“体验感想
”飞天加速计划·高校学生在家实践“体验感想
对阿里云 ”飞天加速计划·高校学生在家实践“ 自我使用体验
免费,简单,使用方便,非常利于学生做毕业设计的部署
对阿里云 ”飞天加速计划·高校学生在家实践“ 自我使用体验
|
弹性计算 运维 Ubuntu
阿里云 飞天加速计划·高校学生在家实践 使用综合体验
根据两个星期以来的 飞天加速计划·高校学生在家实践 的个人使用体验,来分享我的一些感悟。
289 0
阿里云 飞天加速计划·高校学生在家实践 使用综合体验
|
弹性计算 Linux 网络安全
飞天加速计划·高校学生在家实践 体验报告
在家无聊学习一下ECS云服务器的使用,体验阿里云ECS后的一些心得感悟。
196 0
|
弹性计算 Linux
飞天加速计划·高校学生在家实践体验心得
最近领取了飞天加速计划·高校学生在家实践所提供的ECS云服务器,就此完成一篇心得体会
88 0