华为云云耀云服务器L实例评测|云耀云服务器L实例部署Gogs服务器
- 一、云耀云服务器L实例介绍
- 1.1 云耀云服务器L实例简介
- 1.2 云耀云服务器L实例特点
- 二、Gogs介绍
- 2.1 Gogs简介
- 2.2 Gogs特点
- 三、本次实践介绍
- 3.1 本次实践简介
- 3.2 本次环境规划
- 四、远程登录华为云云耀云服务器L实例
- 4.1 复制弹性公网IP地址
- 4.2 Xshell远程连接服务器
- 4.3 检查操作系统版本
- 4.4 检查Docker环境
- 五、部署Mysql数据库
- 5.1 下载Gogs镜像
- 5.2 创建挂载目录
- 5.3 创建Mysql容器
- 5.4 检查Mysql容器状态
- 5.5 设置Mysql用户权限
- 六、部署Gogs
- 6.1 创建Gogs容器
- 6.2 查看Gogs容器状态
- 6.3 检查Gogs容器日志
- 七、访问Gogs服务器
- 7.1 放行安全组端口
- 7.2 Gogs服务器的初始化配置
- 八、Gogs服务器基本使用
- 8.1 更新用户头像
- 8.2 创建仓库
- 8.3 本地服务器配置
- 8.4 查看Gogs服务器仓库
一、云耀云服务器L实例介绍
1.1 云耀云服务器L实例简介
云耀云服务器L实例是新一代的轻量应用云服务器,专为中小企业和开发者设计,提供便捷的开箱即用体验。该产品提供丰富且经过严格筛选的应用镜像,可一键部署应用,极大程度简化了客户在云端构建电商网站、Web应用、小程序、学习环境以及各类开发测试等任务的过程。
1.2 云耀云服务器L实例特点
-
智能不卡顿:华为云擎天架构加持,软硬协同结合AI算法智能调度,为您提供优质性能。华为云全球存算一张网,数据传输时延比眨眼还短,满足游戏、音视频等低网络时延场景的高要求。
-
价优随心用:超高性价比,超低门槛,敞开随心用。多种实例规格,平衡性能与成本。技术升级优化用云成本,普惠更多初创企业和开发者。
-
上手更简单:多种镜像、资源组合一键下单。严选多款高品质镜像,经过华为云官方严格测试,覆盖七大场景,预置模板,快速搭建,安全可信。自动化编排,资源一键开通,业务分钟级上线。平滑学习曲线,向导式应用搭建,应用轻松启用。
-
管理更省心:拓扑、资源、镜像可视化管理,业务架构透明化管理。贴心服务状态提醒,资源续退一键式操作,实现极简管理。资源负载、安全,使用率实时监控,保障服务永远在线。可选配丰富的安全服务,包括丰富的备份、主机安全等服务,提供最高等级的安全防护。
二、Gogs介绍
2.1 Gogs简介
Gogs是一款基于Go语言开发的自助Git服务,可以提供轻量级、易于使用的Git服务器。
2.2 Gogs特点
- 用户仪表板、用户配置文件和活动时间表。
- 通过 SSH、HTTP 和 HTTPS 协议访问存储库。
- 用户、组织和存储库管理。
- 存储库和组织网络钩子,包括 Slack、Discord 和 Dingtalk。
- 存储库 Git 挂钩、部署密钥和 Git LFS。
- 存储库问题、拉取请求、wiki、受保护的分支和协作。
- 使用 wiki 从其他代码主机迁移和镜像存储库。
- 用于快速编辑存储库文件和 wiki 的 Web 编辑器。
- Jupyter Notebook 和 PDF 渲染。
- 通过 SMTP、LDAP、反向代理、GitHub.com 和 GitHub Enterprise with 2FA 进行身份验证。
- 自定义HTML模板,静态文件和许多其他文件。
- 丰富的数据库后端,包括PostgreSQL,MySQL,SQLite3和TiDB。
- 拥有超过 31 种语言的本地化。
三、本次实践介绍
3.1 本次实践简介
1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云耀云服务器L实例,使用的应用镜像为Portainer 2.18.4;
3.由于使用的应用镜像为Portainer,云服务器自动已部署好Docker环境;
4.在华为云云耀云服务器L实例上部署Gogs服务器。
3.2 本次环境规划
服务器类别 | 应用镜像 | 内网IP地址 | Docker版本 | Portainer版本 | 操作系统版本 |
---|---|---|---|---|---|
云耀云服务器L实例 | Docker可视化Portainer | 192.168.0.168 | 24.0.4 | 2.18.4 | Ubuntu 22.04.1 LTS |
四、远程登录华为云云耀云服务器L实例
4.1 复制弹性公网IP地址
华为云耀云服务器L实例请提前购买好,这里由于之前已经购买,直接使用即可。点击进入云耀云服务器L实例管理页面,复制其弹性公网IP地址,后面远程连接以及外网访问都要用上。
4.2 Xshell远程连接服务器
在Xshell工具中,填写服务器弹性公网IP地址、账号密码信息,ssh连接远程服务器。
4.3 检查操作系统版本
华为云耀云服务器L实例使用Portainer应用镜像时,使用的操作系统版本为Ubuntu 22.04.1 LTS。
root@hcss-ecs-f91c:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
4.4 检查Docker环境
检查Docker版本,当前版本为24.0.4。
root@hcss-ecs-f91c:~# docker -v
Docker version 24.0.4, build 3713ee1
检查Docker服务状态,确保Docker服务正常运行。
root@hcss-ecs-f91c:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-09-27 15:05:06 CST; 2 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 1058 (dockerd)
Tasks: 75
Memory: 72.6M
CPU: 2min 17.783s
CGroup: /system.slice/docker.service
五、部署Mysql数据库
5.1 下载Gogs镜像
在docker hub拉取Gogs与Mysql镜像。
docker pull gogs/gogs:latest
docker pull mysql:5.7
5.2 创建挂载目录
创建挂载目录/data/gogs/{data,mysql}。
mkdir -p /data/gogs/{data,mysql}
对/data/gogs/{data,mysql}目录进行授权。
chmod -R 777 /data/gogs/
5.3 创建Mysql容器
使用以下命令,创建Mysql容器。
docker run -d --name gogs-mysql --restart always -e MYSQL_ROOT_PASSWORD=gogs -e MYSQL_DATABASE=gogs -e MYSQL_USER=gogs -e MYSQL_PASSWORD=gogs -p 3306:3306 -v /data/gogs/mysql:/var/lib/mysql mysql:5.7
5.4 检查Mysql容器状态
检查Mysql容器状态,确保Mysql容器正常启动。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23b9dc78b17b mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp gogs-mysql
5.5 设置Mysql用户权限
进入到Mysql容器内,给gogs用户授权。
docker exec -it gogs-mysql /bin/bash # 进入mysql容器内
mysql -uroot -p # 连接本地mysql数据库
给gogs用户进行授权。
GRANT ALL PRIVILEGES ON gogs.* TO 'gogs'@'%' IDENTIFIED BY 'gogs';
FLUSH PRIVILEGES;
六、部署Gogs
6.1 创建Gogs容器
执行以下命令,创建Gogs容器。
docker run -d --name=gogs --restart always -v /data/gogs/data:/data -p 10022:22 -p 3000:3000 --link=gogs-mysql:mysql gogs/gogs
6.2 查看Gogs容器状态
检查Gogs容器状态,确保Gogs容器正常启动。
root@hcss-ecs-f91c:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d50d4e85bb34 gogs/gogs "/app/gogs/docker/st…" 20 seconds ago Up 19 seconds (health: starting) 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp, 0.0.0.0:10022->22/tcp, :::10022->22/tcp gogs
23b9dc78b17b mysql:5.7 "docker-entrypoint.s…" 39 minutes ago Up 39 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp gogs-mysql
6.3 检查Gogs容器日志
检查Gogs容器运行日志,确保Gogs服务正常运行。
docker logs gogs
七、访问Gogs服务器
7.1 放行安全组端口
进入华为云云耀云服务器L实例的安全组管理页面,入方向放行10080与3000端口。
7.2 Gogs服务器的初始化配置
访问地址:http://弹性公网IP地址:3000/,进入到初始配置界面。
数据库设置:
数据库类型:Mysql;
数据库主机:127.0.0.1:3306;
数据库用户:gogs;
数据库密码:gogs;
数据库名称: gogs;
应用基本设置将应用 URL设置为http://弹性公网IP地址:3000/,其余默认即可。
创建管理员账号,自定义设置即可,点击“立即安装”。
八、Gogs服务器基本使用
8.1 更新用户头像
用户设置——头像设置,上传头像后,点击“更新头像设置”,用户头像就会刷新。
8.2 创建仓库
选择创建仓库,进入仓库创建页面。
选择仓库名称,点击“创建仓库”。
8.3 本地服务器配置
在本地服务器,执行以下命令,将本地内容推送到Gogs服务器的新建仓库中。
mkdir /test && cd /test
echo "test01-aa" > myweb.sh
git init
git add myweb.sh
git commit -m "first commit by wangming -v1.0.0"
git remote add origin http://120.46.81.11:3000/jeven/myweb.git
git push -u origin master
8.4 查看Gogs服务器仓库
查看新建仓库myweb状态,发现已经成功上传本地内容。