在1024中部署抖音server项目 | 青训营

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 在1024中部署抖音server项目 | 青训营

1.新工作台

右上角选择“新建”,然后选择go语言

不要直接赋值demo代码里面的那个,没有mysql和相关的go支持

因为在1024平台上直接clone代码构建项目不方便,于是选择将所有代码在本地编译好再上传上去

2.go框架需求

需要gin,gorm和mysql驱动

shell

复制代码

go get -u github.com/gin-gonic/gin
go get -u github.com/jinzhu/gorm
go get -u github.com/go-sql-driver/mysql

然后再使用go mod tidy更新依赖

3.mysql配置

首先在命令行里链接数据库

shell

复制代码

mysql -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USER} -p

然后创建一个名为douyin的数据库

shell

复制代码

create database douyin;

database/iniMYSQL.go文件中有如下内容

go

复制代码

username := "root" //用户名  
password := "123456" //密码  
host := "127.0.0.1" //数据库地址,可以是IP或者域名  
port := 3306 //端口号  
Dbname := "douyin" //数据库名  
timeout := "10s" //超时连接,10秒

根据自己的mysql配置信息链接

创建一个名为douyin的数据库

然后运行该文件

DB.Debug().AutoMigrate(&models.Video{}, &models.Comment{}, models.User{}, &models.Like{}, &models.Post{})这行代码是根据数据模型创建数据库中的表,仅第一次运行时需要使用 每次关闭1024代码空间都会更换数据库的ip和端口,所以建议使用环境变量的方式给变量写

go

复制代码

username := os.Getenv("MYSQL_USER") //用户名
  password := os.Getenv("MYSQL_PASSWORD")  //密码
  host := os.Getenv("MYSQL_HOST") //数据库地址,可以是IP或者域名
  port, _ := strconv.ParseInt(os.Getenv("MYSQL_PORT"), 10, 32) //端口号
  Dbname := "douyin" //数据库名
  timeout := "10s"     //超时连接,10秒

4.添加环境变量

使用到的ffmpeg软件通过添加一个环境变量由程序调用

ffmpeg 软件所在据对位置目录

注意:1024code里面使用的linux环境,ffmpeg.exe无法使用,需要替换掉service/ffmpeg.exe文件为对应系统的版本下载地址

D:\goland\simple-demo-main\service\ffmpeg.exe 下载后在1024平台解压

shell

复制代码

xz -d ffmpeg-git-amd64-static.tar.xz
tar -xvf ffmpeg-git-amd64-static.tar
#进入解压的文件夹下
./ffmpeg
#如果出现ffmpeg version N-66595-gc2b38619c0-static ...说明成功

然后添加环境变量

shell

复制代码

vim ~/.bashrc
# 在最后一行加上
export PATH="$PATH:/home/runner/app/simple-demo-main/for1024/ffmpeg-git-20230721-amd64-static"
# 手动更新
source ~/.bashrc

5.上传在本地编译好的文件

因为在1024平台上直接clone代码构建项目不方便,于是选择将所有代码在本地编译好再上传上去

我试了在1024上,遇到了各种问题(操作系统不同,goland本地写的包无法在1024用……)

在goland运行选择编辑运行选项Run Condifuration,在环境处加上

ini

复制代码

GOOS=linux;GOARCH=amd64

再取消选择Run after build

在选择一个输出路径即可

我一共上传了三个文件

  • 下载好的ffmpeg压缩包
  • 初始化数据库的代码编译的可执行文件
  • 项目的可执行文件

1024每一次刷新链接,都会更新数据库的ip和端口

数据库和表都在,数据也不会没

所以我专门写了一个初始化数据库的代码,方便使用

6.全部完成,开始运行

在上面的所有内容都检查过后没有问题 就可以开始运行代码了

可执行文件刚被放上去,只是一个普通的文件,没有执行权限,需要用下面的权限让它可以运行

bash

复制代码

chmod +x ./xxx
./xxx

运行之后,1024code会给一个链接(感觉直接绑定在了这个8080默认端口上),放在postman里面可以直接访问

7.总结

1024code感觉用起来很吃力,很多地方没讲明白

linux基础有一点,但是不多


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
人工智能 前端开发 API
借助chat-web前端开源项目搭建属于自己的ChatGPT镜像站
借助chat-web前端开源项目搭建属于自己的ChatGPT镜像站
182 0
|
7月前
|
存储 关系型数据库 MySQL
阿里秀MySQL高端玩法,300页亿级MySQL调优文档GitHub开源即巅峰
先听我说: 这两个月来,很多小伙伴留言问我618、双11各大电商后端的技术,最多的是关于系统压力暴增情况下如何进行MySQL数据库优化的。 今天就结合我自己工作中的真实案例和大家分享一下吧。
|
9月前
|
运维 安全 Linux
GitHub点击量已破千万!世界级运维专家手写:793页Linux实战笔记
我们知道Linux这玩意儿是在计算机上面运行的,所以说Linux就是一组软件。问题是这个软件是操作系统还是应用程序? Linux可以在哪些种类的计算机硬件上面运行?而Linux源自哪里?为什么使用Linux还不用花钱?这些我们都得先来谈—谈! 免得下次人家问你,为什么复制软件不会违法时,你会答不出来!
|
NoSQL 关系型数据库 MySQL
从零开始搞后台管理系统(2)——shin-server
  shin 的读音是[ʃɪn],谐音就是行,寓意可行的后端系统服务,shin-server 的特点是:
从零开始搞后台管理系统(2)——shin-server
|
Serverless
《Serverless 开发实战--十分钟上线一个 Web 应用》电子版地址
Serverless 开发实战--十分钟上线一个 Web 应用
418 0
《Serverless 开发实战--十分钟上线一个 Web 应用》电子版地址
|
JSON 网络协议 Go
Go Server #私藏项目实操分享#
Go Server #私藏项目实操分享#
112 0
|
Web App开发 JavaScript 前端开发
【VIP视频网站项目上线】基于Nodejs的Express框架开发的VIP视频网站项目及完整代码分享
版权声明:本文为博主原创文章,未经博主允许不得转载。更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/82914063 ...
1930 0