一、导语
第一期主要进行了六次实验,分别是《动手实操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
如果这里启动不了,并报如下错误
,却能显式版本号,说明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搭建博客。
希望自己在接下来的时间里能坚持学完冬季实战营所有课程和实验。最后,祝阿里云这个活动越办越好!