冬季实战营第一期:从零到一上手玩转云服务器实验报告

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 第一期主要进行了六次实验,分别是《动手实操ECS云服务器》、《动手实操快速搭建LAMP环境》、《使用ECS服务器部署MySQL数据库》、《通过workbench远程登录ECS,快速搭建Docker环境》、《从零搭建Spring Boot的Hello World》以及《使用PolarDB和ECS搭建门户网站》。首先远程登陆ECS实例,搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。然后配置及远程访问MySQL。冯晓帅老师在直播上带大家通过workbench登录ECS并快速搭建Docker环境,运行Spring Boot,最后安装WordPress并搭建博客。

一、导语

第一期主要进行了六次实验,分别是《动手实操ECS云服务器》、《动手实操快速搭建LAMP环境》、《使用ECS服务器部署MySQL数据库》、《通过workbench远程登录ECS,快速搭建Docker环境》、《从零搭建Spring Boot的Hello World》以及《使用PolarDB和ECS搭建门户网站》。

二、动手实操ECS云服务器

1、创建云服务器资源

创建资源后,会得到阿里云的用户和密码,以及云服务器的弹性IP、私有地址、用户、密码、实例、实例名和ECS地域。其中弹性IP、用户和密码是连接云服务器的账号和密码。

2、控制台管理实践

1)登陆阿里云,进入ECS管理控制台;

2)根据ECS所在地域、实例名筛选和找到云服务器实例,点击【管理】,从而管理实例;

3)在云盘中可以查看系统盘和数据盘的容量大小;

4)在实力详情中重置实例密码,重置密码后需要重启;

5)通过LX终端连接云服务器。格式为

ssh root@xxx.xx.xx.xx

ssh是使用ssh方式,root是用户名,‘@’后面是弹性IP,回车后再输入密码,再回车,即可登陆云服务器。

三、动手实操快速搭建LAMP环境

1、安装Apache服务

1)安装apache服务及扩展包

yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql

2)启动apache服务

systemctl start httpd.service

3)输入公网IP,若能看到apache服务界面,说明启动成功

2、安装并配置MySQL

1)安装mysql官网的yum repository

rpm -e mariadb-libs --nodeps yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-common-5.7.35-1.el7.x86_64.rpm yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-libs-5.7.35-1.el7.x86_64.rpm yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-libs-compat-5.7.35-1.el7.x86_64.rpm yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-client-5.7.35-1.el7.x86_64.rpm yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-server-5.7.35-1.el7.x86_64.rpm

这里需要注意,最好一条一条复制、粘贴去安装,否则容易出错

2)查看版本号

mysql -V

成功显式版本号其实也不一定安装成功,例如这个community-server忘记安装了,也能显式版本号,但由于server没安装,导致启动不了服务,难以排除这个bug。

3)启动数据库服务

systemctl start mysqld.service

如果这里启动不了,并报如下错误

Failed to start mysqld.service: Unit not found

,却能显式版本号,说明community-server没安装成功

4)查看初始密码

grep "password" /var/log/mysqld.log

5)登陆数据库

mysql -uroot -p

6)修改密码

set global validate_password_policy=0;  #修改密码安全策略为低(只校验密码长度,至少8位)。

ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';

建议一条一条执行代码。

7)授予root用户远程管理权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';

8)退出数据库

exit;

注意分号不能忘。

3、安装PHP环境

1)执行安装PHP代码

yum -y install php php-mysql gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap

2)创建PHP测试界面

echo "" > /var/www/html/phpinfo.php

3)重启apache服务

systemctl restart httpd

4)本地浏览器访问测试界面,若能显示PHP,说明PHP环境安装成功

http:///phpinfo.php

4、安装phpmyadmin

1)新建目录,用于之后存放phpmyadmin的数据

mkdir -p /var/www/html/phpmyadmin

2)下载phpmyadmin压缩包

wget --no-check-certificate https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.zip

3)安装unzip并解压压缩包

yum install -y unzip unzip phpMyAdmin-4.0.10.20-all-languages.zip

4)复制phpmyadmin文件到数据存放目录

mv phpMyAdmin-4.0.10.20-all-languages/*  /var/www/html/phpmyadmin

5)在浏览器中输入下面命令,进入phpmyadmin管理系统

http://实例公网 IP/phpmyadmin

6)输入mysql用户名和密码,进行连接

用户名是root,密码是之前修改后的12345678

四、使用ECS服务器部署MySQL数据库

1、安装MySQL

1)更新yum源

rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

2)安装mysql

yum -y install mysql-community-server --nogpgcheck

3)查看版本号

mysql -V

2、配置mysql

1)启动mysql服务

systemctl start mysqld

2)设置mysql服务开机自启动

systemctl enable mysqld

3)查看sysqld.log文件,获取root初始密码

grep 'temporary password' /var/log/mysqld.log

4)mysql安全性配置

a、执行如下命令,进行配置

mysql_secure_installation

b、输入root初始密码,按下enter键,重置密码

c、输入root用户新密码。新密码长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号可以是()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/

d、再次输入密码,按下enter

e、当出现change password for root时,输入N,并且按下enter,不更改root密码

f、选择删除匿名用户

g、禁止root账号远程登陆

h、删除test库以及对test库的访问权限

i、重新加载权限表

3、远程访问mysql数据库

1)创建远程登陆MySQL账号。一般是使用非root账号远程登陆,因此需要创建非root账号。

a、先使用root账户登陆数据库

mysql -uroot -p

b、创建并授权给远程登陆的非root账号,例如账号为dms,密码为PASSword123!

create user 'dms'@'%' identified by 'PASSword123!'; grant all privileges on *.* to 'dms'@'%'with grant option; flush privileges;

c、退出数据库

exit

2)登陆阿里云DMS数据管理服务

a、在新增实例对话框中选择ECS自建数据库

b、选择MySQL

c、填写基本信息,其中端口为3306,并测试连接

d、提交并确认


五、通过workbench远程登录ECS,快速搭建Docker环境

1、连接服务器

1)登陆云服务器ECS控制台

https://ecs.console.aliyun.com/

2)根据地域和实例ID找到实例。

在实例的右侧点击【远程连接】,选择workbench连接。输入ECS服务器的用户名和密码登陆。

2、安装docker CE(社区版)

1)安装docker依赖库

yum install -y yum-utils device-mapper-persistent-data lvm2

2)添加docker CE软件源信息

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3)安装docker CE

yum makecache fast yum -y install docker-ce

4)启动docker服务

systemctl start docker

3、配置阿里云镜像仓库

1)访问云容器镜像服务控制台

https://cr.console.aliyun.com/

2)在镜像工具中选择镜像加速器

复制镜像加速地址,将地址填写到下方代码

tee /etc/docker/daemon.json <<-'EOF' {   "registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"] } EOF

3)重新加载服务配置文件

systemctl daemon-reload

4)重启docker服务

systemctl restart docker

4、用docker安装nginx服务

1)查看docker镜像仓库中nginx的版本

docker search nginx

2)拉取最新的Nginx镜像

docker pull nginx:latest

3)查看本地镜像

docker images

4)运行容器

docker run --name nginx-test -p 8080:80 -d nginx

命令参数说明:

  • --name nginx-test:容器名称。
  • -p 8080:80: 端口进行映射,将本地8080端口映射到容器内部的80端口。
  • -d nginx: 设置容器在后台一直运行。

5)访问8080端口

在地址栏输入http://:8080访问Nginx服务


六、从零搭建Spring Boot的Hello World

1、安装java和idea开发环境

1)安装java。我这里选择java 11。通过以下代码检查环境变量是否安装成功。

java -version

2)安装idea。

安装好后,在设置——插件里搜索spring assistant,然后安装插件,安装结束后重启idea。

2、创建spring boot项目

1)新建项目——左侧选择spring assistant。这里我遇到了idea版本的问题,spring assistant不显示,但可以用apring initializr代替。

2)选择项目的SDK版本,配置group、artifact、version、name、package等,点击下一步,再从Web中选择springweb,就完成springboot项目初始化了。

3)在main下的com.aliyun.demo目录下创建HelloAliyunController.java文件

4)在HelloAliyunController.java文件下添加如下代码

package com.example.demo; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloAliyunController {     @RequestMapping("/")     public String helloAliyun(){         return "Hello Aliyun!!!";     } }

添加技巧:利用idea自带的代码填充可以快速完成代码的编写。在类名上方先输入@符号,然后输入RestC等,再按tab键填充,这时@RestController以及import org.springframework.web.bind.annotation.RestController;代码都自动填充了。同理,@RequestMapping也和import org.springframework.web.bind.annotation.RequestMapping;

是自动填充得到的

3、打包并上传ECS服务器

1)使用maven打包

点击右侧maven,双击demo-lifecycle-package,开始打包。

2)检查SSH是否安装成功

ssh -V

如果未安装,则安装OpenSSH工具

3)把jar包上传到云服务器

scp C:\Users\Administrator\IdeaProjects\demo\target\demo-0.0.1-SNAPSHOT.jar root@47.xx.xx.xx:/root

也可以在idea的终端进入target,然后使用相对路径上传,比较方便。

参数说明:

  • C:\Users\Administrator\IdeaProjects\demo\target\demo-0.0.1-SNAPSHOT.jar为jar包存放路径。
  • 47.xx.xx.xx为ECS实例公网IP。

4、运行ECS上的Java项目

1)安装java运行环境

yum -y install java-11

这里要注意的是,服务器上的java版本要与编写这个jar包的java版本对应,否则运行不了,我这里用的是java11。

2)运行java项目

java -jar demo-0.0.1-SNAPSHOT.jar

3)使用浏览器访问

使用浏览器访问http://<公网IP>:8080


七、使用PolarDB和ECS搭建门户网站

1、创建PolarDB数据库账号

在阿里云控制台首页 左侧导航栏,依次单击 产品与服务 > 云数据库PolarDB ,进入 云数据库PolarDB管理控制台。单击左侧 集群列表 ,然后选择云产品资源提供的地域。在 集群列表 页面,单击 集群ID,进入 集群详情界面 。单击左侧导航栏 配置与管理 > 账号管理 ,并单击左上方的创建账号按钮。参考说明配置账号信息,然后单击确定。

2、创建数据库

在实例详情页,单击左侧导航栏的数据库管理 ,然后单击创建数据库。参考说明配置数据库信息,然后单击创建 。

3、设置数据库白名单

连接数据库需要设置数据库白名单,点击 [集群白名单],然后点击 [设置] 设置数据库集群白名单。

4、连接ECS服务器

5、搭建LAMP环境

见第三点的内容。这里注意的是,要用第三点中的命令搭建MySQL环境,实验手册中的命令有bug。

6、搭建门户网站


1)在ECS服务器上,执行以下命令,安装Git。

yum -y install git

2)在ECS服务器上,执行以下命令下载PbootCMS源码文件。

cd ~ && git clone https://gitee.com/hnaoyun/PbootCMS.git

3执行以下命令将安装包拷贝到Apache的wwwroot目录下。

cp -r PbootCMS/* /var/www/html/

4 执行以下命令修改站点根目录文件权限。

chmod -R a+w /var/www/html

5向数据库中导入CMS的初始数据。

执行以下命令初始化数据库pbootcms的表结构和数据。

说明: 在执行命令前,请修改一下三个参数。

  • 数据库连接地址参见集群详情页面下方链接地址板块。
  • test_user为步骤二中创建的数据库账号。
  • Password1213步骤二中创建的数据库密码。

sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) && mysql -h数据库连接地址 -utest_user -pPassword1213 -Dpbootcms < $sql_file

6执行以下命令,修改CMS系统数据库配置。

说明: 在执行命令前,请根据参数说明替换您的数据库配置。

cat > /var/www/html/config/database.php << EOF  array(         'type' => 'mysqli', // 数据库连接驱动类型: mysqli,sqlite,pdo_mysql,pdo_sqlite         'host' => '数据库连接地址', // PolarDB数据库链接地址         'user' => 'test_user', // PolarDB数据库的用户名         'passwd' => 'Password1213', // PolarDB数据库的密码         'port' => '3306', // 数据库端口         'dbname' => 'pbootcms' //数据库名称     ) ); EOF

7) 返回ECS控制台,在ECS实例列表页面,单击已创建的ECS实例ID链接进入ECS详情页。

8)在左侧导航栏,单击本实例安全组 ,然后单击安全组的ID链接查看安全组配置。确保安全组开放了80端口访问,授权对象为0.0.0.0/0,否则无法访问已搭建的门户网站。

9)访问程序

执行以下命令重启 Apache服务。

systemctl restart httpd

在浏览器地址栏输入云服务器的公网IP地址,进入门户网站首页。系统后台默认访问路径为http:///admin.php。默认账号为admin,密码为123456。

至此完成门户网站的搭建。


八、收获感悟

首先感谢阿里云这个平台为我们提供了优质且免费的云服务器实验环境,每一个实验都搭配了详细的实验手册和免费的云服务器,在学习理论的同时,能立即上云进行实验操作,一步一步地拨开云服务器的奥秘。以前我也听闻过云服务器、云计算这些概念,但是从未真正接触,有时候看到云服务器的销售广告,想买来学习和尝试,但又担心买云服务器后上手难度大,浪费金钱和时间。在此之前我还在网上搜索免费的云服务器,但只是试用的,而且申请了服务器后就不知道要往哪方面进行学习。后来我发现了阿里云冬季实战营活动,既能免费使用一段时间的云服务器资源又能在这段时间内学习云服务器的知识和技能,完美解决了我这个云小白的烦恼。

在这一期里,我不仅学会了最基本的登陆云服务器操作、还学会了搭建LAMP、docker等环境、配置mysql服务器、使用springboot框架和maven创建jar包并部署到云服务器以及通过wordpress搭建博客。

希望自己在接下来的时间里能坚持学完冬季实战营所有课程和实验。最后,祝阿里云这个活动越办越好!

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
计算机网络:思科实验【1-访问WEB服务器】
计算机网络:思科实验【1-访问WEB服务器】
计算机网络:思科实验【1-访问WEB服务器】
|
6月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
215 0
|
弹性计算 网络安全 Apache
服务器迁移上云实验过程记录
本课程向您介绍了服务器迁移上云的基本概念,这些概念可以帮助您快速了解在企业服务器迁移上云的重要性和应用场景,同时本课程介绍了您可以采用的云上迁移工具、方法和可操作步骤,以帮助您了解企业是如何处理各类服务器迁移上云场景的。
|
6月前
|
弹性计算 Linux 测试技术
ECS网页问题之认证实验考不了如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
6月前
【计网·湖科大·思科】实验一 熟悉仿真软件及访问WEB服务器
【计网·湖科大·思科】实验一 熟悉仿真软件及访问WEB服务器
55 0
|
弹性计算 关系型数据库 MySQL
基于ECS和云数据库RDS MySQL Serverless快速搭建个人博客实验体验报告
通过安装Apache+PHP+WordPress网站环境,并结合RDS MySQL版数据库实例,快速搭建自己的云上博客。
324 43
|
弹性计算
弹性计算Clouder认证:服务器迁移上云——课时10:实验练习与认证考试
弹性计算Clouder认证:服务器迁移上云——课时10:实验练习与认证考试
|
弹性计算 运维
弹性计算Clouder认证:ECS基础运维管理—课时12:实验练习与认证考试
弹性计算Clouder认证:ECS基础运维管理—课时12:实验练习与认证考试
|
弹性计算
弹性计算Clouder认证:ECS快速入门—课时12:实验练习和参加考试
弹性计算Clouder认证:ECS快速入门—课时12:实验练习和参加考试
|
Web App开发 弹性计算 运维
《企业运维之弹性计算原理与实践》——ECS 进阶概念-运维——第三章(中)实验 1:使用云助手自动化运维云服务器 ECS 实例(1)
《企业运维之弹性计算原理与实践》——ECS 进阶概念-运维——第三章(中)实验 1:使用云助手自动化运维云服务器 ECS 实例(1)
401 0
《企业运维之弹性计算原理与实践》——ECS 进阶概念-运维——第三章(中)实验 1:使用云助手自动化运维云服务器 ECS 实例(1)