[Docker]六.Docker自动部署nodejs以及golang项目

一.自动部署nodejs

1.创建node项目相关文件

app.js代码如下:

var express = require('express');var app=express();app.get('/',function(req,res){res.send('首页update');
})
app.get('/news',function(req,res){res.send('首页');
})//docker做端口映射的时候不要指定ip
app.listen(3000);

 package.json代码如下:

{"dependencies": {"ejs": "^2.5.6","express": "^4.15.3","socket.io": "^2.0.3","body-parser": "~1.17.1"}
}

把上面文件放入/var/www/node下,如图:

2.创建Dockerfile并编写部署代码

在/var/www/node下创建Dockerfile,并编写部署的代码,代码如下:

#下载node镜像
FROM node
#拷贝当前node项目文件夹下所有文件到镜像的/root/wwwroot下
COPY . /root/wwwroot/
#进入镜像/root/wwwroot文件夹下,安装对应的依赖
WORKDIR /root/wwwroot/
#对外暴露的端口
EXPOSE 3000
#安装依赖:通过npm安装依赖时,有时会报错,这时可以通过安装cnpm来安装依赖
RUN npm install cnpm -g --registry=https://registry.nlark.com
RUN cnpm install
#启动程序
CMD node app.js

3.生成nodejs项目的镜像并访问项目

(1).通过docker build -t docker.io/mynode:v1 . 生成node项目镜像

(2).通过docker images查看生成的node项目镜像
REPOSITORY                       TAG                 IMAGE ID       CREATED          SIZE
mynode                 v1                  0efc7b341f5a   28 seconds ago   1.17GB

(3).通过 docker run -it -d -p 3000:3000 0efc7b341f5a生成的镜像运行node项目容器
(4).通过docker ps查看运行的容器
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                       NAMES
fe8a6faa796a   0efc7b341f5a   "docker-entrypoint.s…"   5 seconds ago   Up 2 seconds   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp   eloquent_hodgkin
(5).访问node项目
curl 127.0.0.1:3000

首页update

(6).通过浏览器访问node容器项目

#通过docker build -t docker.io/mynode:v1 . 生成node项目镜像
[root@localhost node]# docker build -t docker.oo/mynode:v1 .
Sending build context to Docker daemon  4.096kB
Step 1/7 : FROM node---> 51bf29046591
Step 2/7 : COPY . /root/wwwroot/---> b1f35befd1f9
Step 3/7 : WORKDIR /root/wwwroot/---> Running in 29015c51bf9a
Removing intermediate container 29015c51bf9a---> ecbd455f1189
Step 4/7 : EXPOSE 3000---> Running in 9d3c0d21d1dd
Removing intermediate container 9d3c0d21d1dd---> a38c3cd36bcd
Step 5/7 : RUN npm install cnpm -g --registry=https://registry.nlark.com---> Running in dcb9adf6929b
npm WARN deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fsadded 440 packages in 27s28 packages are looking for fundingrun `npm fund` for details
npm notice 
npm notice New patch version of npm available! 10.2.0 -> 10.2.4
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.2.4>
npm notice Run `npm install -g npm@10.2.4` to update!
npm notice 
Removing intermediate container dcb9adf6929b---> 090e84deba2e
Step 6/7 : RUN cnpm install---> Running in 2f689257b8c9
Recently updated (since 2023-11-11): 1 packages (detail see file /root/wwwroot/node_modules/.recently_updates.txt)✔ Linked 88 latest versions fallback to /root/wwwroot/node_modules/.store/node_modules
deprecate socket.io@2.5.0 › debug@~4.1.0 Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
✔ Run 1 script(s) in 204ms.
✔ Installed 4 packages on /root/wwwroot
✔ All packages installed (106 packages installed from npm registry, used 3s(network 2s), speed 872.71KB/s, json 88(574.66KB), tarball 1.56MB, manifests cache hit 0, etag hit 0 / miss 0)
Removing intermediate container 2f689257b8c9---> 445cb2b8c2ab
Step 7/7 : CMD node app.js---> Running in 2db6a0168a74
Removing intermediate container 2db6a0168a74---> 0efc7b341f5a
Successfully built 0efc7b341f5a
Successfully tagged docker.io/mynode:v1
[root@localhost node]# 
[root@localhost node]# docker images
REPOSITORY                       TAG                 IMAGE ID       CREATED          SIZE
mynode                 v1                  0efc7b341f5a   28 seconds ago   1.17GB#通过生成的镜像运行node项目容器
[root@localhost node]# docker run -it -d -p 3000:3000 0efc7b341f5a
fe8a6faa796a84b938addd9f1bdee02abdae9f90531eb3c05a21a8b1f97dc56a
#docker ps查看运行的容器
[root@localhost node]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                       NAMES
fe8a6faa796a   0efc7b341f5a   "docker-entrypoint.s…"   5 seconds ago   Up 2 seconds   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp   eloquent_hodgkin
#访问node项目
[root@localhost node]# curl 127.0.0.1:3000
首页update[root@localhost node]# 

二.自动部署golang项目

1.部署编译好的golang项目

(1).golang项目打包以及部署回顾

windows下:

golang项目目录下运行go run ./main.go成功后,在浏览器中访问项目,说明项目ok,然后在项目目录中运行以下命令:

#filename: 文件名
set GOOS=windows
set GOARCH=amd64
go build -o "filename"
直接双击 filename.exe 文件执行即可,然后可以通过浏览器访问
linux下:

 golang项目在windows下,需要打包到linux环境去运行,命令如下:

set GOOS=linux
set GOARCH=amd64
go build -o "filename"

 上传到 linux 中赋予执行权限:

chmod -R 777 目录

 然后在项目目录下执行:

./filename
这样也可以通过浏览器访问了
beego 项目打包:
使用命令 bee pack
windows环境下:
        bee pack -be GOOS=windows
通过上面命令生成一个tar的打包文件,解压双击exe后即可通过浏览器访问
而如果需要在linux环境下访问的话,则使用一下命令,生成一个在linux下执行的二进制文件,然后./文件名访问即可:
        bee pack -be GOOS=linux
 

(2).在linux下访问编译好的项目

在windows下编译好beego在linux下访问的二进制文件,然后上传到linux中的/var/www/beegotest目录下,然后./beegotest访问即可

 (3).部署编译好的beego项目

1).在beego项目下创建Dockerfile文件,并写入以下代码
#容器对应的镜像文件的环境
FROM centos:centos7
#把当前bee项目下面的文件拷贝到/root/golang下
COPY . /root/golang
#进入容器/root/golang文件夹
WORKDIR /root/golang
#对外暴露端接
EXPOSE 8080
#启动容器时运行命令:启动bee项目名
ENTRYPOINT ["./beegodemo01"]
2).编译生成bee项目的docker镜像

[root@localhost beegodemo]# docker build -t docker.io/mybeego:v1.0.1 . 
Sending build context to Docker daemon 14.62MB
Step 1/5 : FROM centos
---> 300e315adb2f
Step 2/5 : COPY . /root/golang
---> 78670b1c00eb
Step 3/5 : WORKDIR /root/golang
---> Running in 850af8309c34
Removing intermediate container 850af8309c34
---> f6f6f3ef99ed
Step 4/5 : EXPOSE 8080
---> Running in f1ea11c5c19b
Removing intermediate container f1ea11c5c19b
---> ba11828a3ef1
Step 5/5 : ENTRYPOINT ["./beegodemo01"]
---> Running in 57d921e41e48
Removing intermediate container 57d921e41e48
---> 87700337cda3
Successfully built 87700337cda3
Successfully tagged
3).通过dokcer images查看生成的bee项目docker镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mybeego v1.0.1 87700337cda3 10 minutes ago 224MB
4).通过镜像启动bee项目docker容器
[root@localhost ~]# docker run -it -d -p 8081:8080 mybeego:v1.0.1
a38eb4ed369053f2d6c1209fb9070e388616613916f5dc228f5c539efd3aaeee
5).访问

2.部署未编译的 golang 项目 

在linux的/var/www/goweb目录下创建main.go,以及Dockerfile,然后进行操作

(1).goweb 目录新建 main.go

package main
import ( "fmt""net/http"
)
func handlerHello(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "hello docker")
}
func main() {http.HandleFunc("/", handlerHello)http.ListenAndServe(":8080", nil)
}

(2).在工程目录 goweb 下,新建 Dockerfile 文件

#获取golang环境镜像
FROM golang
#设置开发人员信息
MAINTAINER "1028538262@qq.com" 
#把goweb工程目录下的所有文件复制到容器/root/goweb下
ADD . /root/goweb
#cd到/root/goweb
WORKDIR /root/goweb#执行命令
RUN go mod init goweb
RUN go mod tidy
#执行go build生成可执行的二进制文件
RUN go build
#暴露端口
EXPOSE 8080
#执行容器启动命令: 启动goweb项目
ENTRYPOINT ["./goweb"]

(3).通过docker build -t 生成goweb项目镜像

[root@localhost goweb]# docker build -t docker.io/goweb:v4 .
Sending build context to Docker daemon  3.072kB
Step 1/9 : FROM golang---> 4c88d2e04e7d
Step 2/9 : MAINTAINER "1028538262@qq.com"---> Using cache---> aa682bbc7c54
Step 3/9 : ADD . /root/goweb---> 9747f860ba2a
Step 4/9 : WORKDIR /root/goweb---> Running in 4ab2d41b8269
Removing intermediate container 4ab2d41b8269---> 794d6dc76dc4
Step 5/9 : RUN go mod init mygoweb---> Running in 0e7d4e43f510
go: creating new go.mod: module mygoweb
go: to add module requirements and sums:go mod tidy
Removing intermediate container 0e7d4e43f510---> 0f5176b44c2a
Step 6/9 : RUn go mod tidy---> Running in 2604b6df8323
Removing intermediate container 2604b6df8323---> c2e03a32a3b7
Step 7/9 : RUN go build---> Running in 0dd305afa33b
Removing intermediate container 0dd305afa33b---> 206024eb719c
Step 8/9 : EXPOSE 8080---> Running in 756480f55fb3
Removing intermediate container 756480f55fb3---> 60d3344f4c27
Step 9/9 : ENTRYPOINT ["./goweb"]---> Running in 6eca95002f82
Removing intermediate container 6eca95002f82---> 3bf4b763b543
Successfully built 3bf4b763b543
Successfully tagged goweb:v4

(4).查看是否生成镜像

通过docker images查看

[root@localhost goweb]# docker images
REPOSITORY                       TAG                 IMAGE ID       CREATED              SIZE
goweb                          v4                  3bf4b763b543   About a minute ago   885MB

(5).启动项目容器

通过docker run -it -d -p 8081:8080 镜像ID启动

[root@localhost goweb]# docker run -it -d -p 8081:8080 3bf4b763b543   
e44585ca40e1c3a19c6f61cac7eee40836e9d7e71d35de49e1449dcacc53959b

(6).查看是否启动容器

通过docke ps查看

[root@localhost goweb]# docker ps
CONTAINER ID   IMAGE          COMMAND     CREATED         STATUS         PORTS                                       NAMES
e44585ca40e1   ee27c58e2ef5   "./goweb"   7 seconds ago   Up 4 seconds   0.0.0.0:8081->8080/tcp, :::8081->8080/tcp   epic_merkle

(7).通过浏览器访问看看是否成功

 (8).进入goweb项目容器查看数据

#通过docker exec -it 进入容器,
[root@localhost goweb]# docker exec -it e44585ca40e1 /bin/bash#go version 存在,说明容器中已经有golang环境了
root@e44585ca40e1:~/goweb# go version
go version go1.21.4 linux/amd64#还可以通过go env 查看golang配置常量
root@e44585ca40e1:~/goweb# go env
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/root/.cache/go-build'
GOENV='/root/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='local'
GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.21.4'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/root/goweb/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build2427941496=/tmp/go-build -gno-record-gcc-switches'
root@e44585ca40e1:~/goweb# 

3.部署未编译的 beego 项目

(1).查看bee --help,bee自动生成Dockerfile

可以通过bee --help查看帮助文档

     version     Prints the current Bee versionmigrate     Runs database migrationsapi         Creates a Beego API applicationbale        Transforms non-Go files to Go source filesfix         Fixes your application by making it compatible with newer versions of Beegopro         Source code generatordev         Commands which used to help to develop beego and beedlv         Start a debugging session using Delvedockerize   Generates a Dockerfile and docker-compose.yaml for your Beego applicationgenerate    Source code generatorhprose      Creates an RPC application based on Hprose and Beego frameworksnew         Creates a Beego applicationpack        Compresses a Beego application into a single filers          Run customized scriptsrun         Run the application by starting a local development serverserver      serving static content over HTTP on portupdate      Update Bee

发现可以通过dockerize   参数生成Dockefile文件,当然也可以不通过dockerize自己编写Dockerfile

(2).自己编写Dockerfile

自己编写的Dockerfile: 

#从golang获取镜像
FROM golang
#创建者邮箱
MAINTAINER "1028538262@qq.com"
#赋值beego项目到/root/beegodemo01
COPY . /root/beegodemo01
#进入容器中项目目录
WORKDIR /root/beegodemo01
#配置环境变量
ENV GO111MODULE=on
ENV GOPROXY=https://goproxy.cn,direct
#运行命令:下载beego
RUN go get -u github.com/beego/bee
#暴露端口
EXPOSE 8080
#容器启动命令:运行bee项目
ENTRYPOINT ["bee", "run"]

(3).通过docker build -t 生成bee项目镜像

[root@localhost beegotest]# docker build -t docker.io/beego:1.1 .
Sending build context to Docker daemon  121.3kB
Step 1/9 : FROM golang---> 4c88d2e04e7d
Step 2/9 : MAINTAINER "1028538262@qq.com"---> Using cache---> aa682bbc7c54
Step 3/9 : COPY . /root/beegodemo01---> 3f66273e71e9
Step 4/9 : WORKDIR /root/beegodemo01---> Running in c67b1bb8c951
Removing intermediate container c67b1bb8c951---> d3f44b8e021a
Step 5/9 : ENV GO111MODULE=on---> Running in 8b7b5c5e81d6
Removing intermediate container 8b7b5c5e81d6---> bb6f1cb28746
Step 6/9 : ENV GOPROXY=https://goproxy.cn,direct---> Running in 97b7a35d38c3
Removing intermediate container 97b7a35d38c3
Successfully built 931a238bfbbb
Successfully tagged beego:1.1

(4).通过docker images查看是否生成镜像成功

[root@localhost beegodemo01]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
beego  v3.0.1 931a238bfbbb About a minute ago 1.01GB

(5).通过镜像ID启动bee项目容器

docker run -it -d -p 8083:8080 --name beegodemo 镜像ID

(6).查看是否启动容器成功

[root@localhost beegodemo01]# docker ps
CONTAINER ID IMAGE COMMAND CREATED
1c96e85d3c03 golangimg:v3.0.1 "/bin/sh -c 'bee run'" 7 seconds ago Up 6 s
econds 0.0.0.0:8083->8080/tcp, :::8083->8080/tcp beegodemo

(7).通过浏览器访问看看是否成功

发现操作成功,说明bee项目镜像,容器部署成功

[上一节] [Docker]五.Docker中Dockerfile详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型重塑软件设计,南京真我加入飞桨技术伙伴,大模型生态圈成员又添一员!

为帮助伙伴更快、更好的应用大模型技术&#xff0c;飞桨技术伙伴体系及权益基于星河共创计划全面升级&#xff0c;通过丰富的场景、技术、算力、品牌等资源&#xff0c;为伙伴企业提供一站式的大模型资源对接&#xff0c;全面降低创建AI原生应用的门槛。 近日&#xff0c;南京…

二十三种设计模式全面解析-解密职责链模式:请求处理的设计艺术

当我们构建软件系统时&#xff0c;经常会遇到需要处理各种不同类型请求的情况。有时&#xff0c;请求的处理逻辑可能相当复杂&#xff0c;需要按照一定的规则和条件进行处理。在本文中&#xff0c;我们将深入探讨职责链模式在请求处理中的应用。职责链模式通过将请求发送者和接…

win10家庭版系统远通过一根网线程连接另一台机器

用网线连接两个机器 打开cmd命令行 输入ipconfig&#xff0c;查看 复制 IPv4地址 打开 远程桌面 程序 点击连接 输入在另外一机器设置好的用户名和密码即可

docker打包chatpdf(自写)

docker打包上传 docker build -t kitelff/chatpdf:v0.1 .##修改镜像名字 docker tag c2c1a0eb4e08 kitelff/chatpdf:v0.1## push docker push kitelff/chatpdf:v0.1上传文件&#xff0c;测试效果

【brpc学习实战二】brpc client构建基本流程

client基本概念及学习指南 https://github.com/luozesong/brpc/blob/master/docs/cn/client.md 一、编写proto 这里与服务一致&#xff0c;实际开发中需要双端共同确定proto内容&#xff1b; 二、初始化channel rpc channel可以视为socket编程中的client对象 定义一个chan…

字符串统计

题目部分 题目字符串统计难度易题目说明给定两个字符集合&#xff0c;一个是全量字符集&#xff0c;一个是已占用字符集&#xff0c;已占用字符集中的字符不能再使用&#xff0c;要求输出剩余可用字符集。输入描述1. 输入一个字符串 一定包含&#xff0c;前为全量字符集 后的为…

BananaPi BPI-M6(Raspberry Pi 5) Android 平板电脑镜像测试温度

我已经在本文中介绍了 全新的Banana Pi BPI-M6&#xff0c;并讨论了其与Raspberry Pi 5的硬件特性比较。 然后我将 Android 平板电脑固件上传到 eMMC&#xff0c;从而使 Banana Pi 实际可用。一开始有点坎坷&#xff0c;但文章中有更多内容。 在另一台电脑上&#xff0c;一切都…

Arcgis小技巧【16】:ArcMap的那些功能在ArcGIS Pro里都去哪儿了?

有部分小伙伴现在已经用上了ArcGIS Pro&#xff0c;但可能还会有些不习惯。 一个很重要的原因&#xff0c;原来在ArcMap中的一些功能&#xff0c;好像在Pro里消失了。 不排除一些功能确实被移除了&#xff0c;但大部分其实是因为UI的变化&#xff0c;给放在了别的地方。 这里…

Linux CentOS7配置网络参数

CentOS6及以前版本中主要使用ifconfig工具&#xff0c;查看、配置网络参数。后来对推荐使用ip命令查看配置网络参数。而centos7中&#xff0c;不再赞成使用ifconfig工具&#xff0c;取而代之的是nmcli工具&#xff0c;服务管理也是以systemctl工具取代了service,这些之前版本的…

音视频项目—基于FFmpeg和SDL的音视频播放器解析(十二)

介绍 在本系列&#xff0c;我打算花大篇幅讲解我的 gitee 项目音视频播放器&#xff0c;在这个项目&#xff0c;您可以学到音视频解封装&#xff0c;解码&#xff0c;SDL渲染相关的知识。您对源代码感兴趣的话&#xff0c;请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…

学霸教你自学人工智能

在这个信息爆炸的时代&#xff0c;人工智能已经渗透到我们生活的方方面面。无论是语音助手、自动驾驶汽车&#xff0c;还是医疗诊断&#xff0c;人工智能都在发挥着越来越重要的作用。如果你对人工智能充满热情&#xff0c;希望在这个领域有所建树&#xff0c;那么&#xff0c;…

基于深度学习的视觉三维重建研究总结

参考连接&#xff1a; 基于深度学习的视觉三维重建研究总结 - 知乎

微信私域运营工具CRM

为什么要做微信私域&#xff1f; 客户在哪里&#xff1f;微信&#xff01;在中国&#xff0c;不论男女老少&#xff0c;90%的人每天使用微信至少5次&#xff0c;每次使用时间超过90分钟&#xff0c;已经成为像吃饭穿衣一样的生活必需品。因此&#xff0c;我们的目标客户就在微…

【github】初学者使用指南

作者&#xff1a;20岁爱吃必胜客&#xff08;坤制作人&#xff09;&#xff0c;近十年开发经验, 跨域学习者&#xff0c;目前于新西兰奥克兰大学攻读IT硕士学位。荣誉&#xff1a;阿里云博客专家认证、腾讯开发者社区优质创作者&#xff0c;在CTF省赛校赛多次取得好成绩。跨领域…

简单选择排序

目录 基本原理举例示例代码总结简单选择排序 VS 堆排序简单选择排序 VS 冒泡排序 本文主要介绍简单选择排序的基本原理、具体例子&#xff0c;以及代码实现。 基本原理 简单选择排序的基本原理是&#xff1a; 在未排序序列中找到最小&#xff08;大&#xff09;元素&#xf…

一个奇怪的蓝牙模块分析记录

蓝牙标识PZ-BT11 从这个蓝牙通电后的表现可以看到有2个蓝牙&#xff0c;其中一个带有BLE标识&#xff0c;可能是一个双模蓝牙 首先这不是一个普通的JDY蓝牙&#xff0c; 因为普通JDY蓝牙只有1个蓝牙信号&#xff08;从手机搜索蓝牙&#xff09; 这可能是一个BLE蓝牙 因为B…

VMware——WindowServer2012R2环境mysql5.7.14解压版安装主从复制(图解版)

目录 一、服务器信息二、192.168.132.33主服务器上安装mysql&#xff08;主&#xff09;2.1、环境变量配置2.2、安装2.2.1、修改配置文件内容2.2.2、初始化mysql并指定超级用户密码2.2.3、安装mysql服务2.2.4、启动mysql服务2.2.5、登录用户管理及密码修改2.2.6、开启远程访问 …

Vue3 源码解读系列(七)——侦听器

侦听器 watch 侦听器是当侦听的对象或者函数发生了变化则自动执行某个回调函数。 侦听器的内部设计&#xff1a;侦听响应式数据的变化&#xff0c;内部创建 effect runner&#xff0c;首次执行 runner 做依赖收集&#xff0c;然后在数据发生变化后&#xff0c;以某种调度方式…

ESP32C3小飞控调试

ESP32C3小飞控调试 - 1 ESP32C3小飞控板赶在国庆节前发出打样&#xff0c;假期后上班就收到了样板&#xff0c;但是迟迟没有动手调试&#xff0c;这两天终于抽出时间调试了&#xff0c;调试过程还算顺利&#xff0c;基本没有遇到什么大问题&#xff0c;下面记录一下调试过程。…

什么是轻量应用服务器?腾讯云轻量服务器可以干什么?

腾讯云轻量应用服务器&#xff08;TencentCloud Lighthouse&#xff09;是新一代开箱即用、面向轻量应用场景的云服务器产品&#xff0c;轻量应用服务器可用于搭建中小型网站、Web应用、博客、论坛、小程序/小游戏、电商、云盘/图床、云端开发测试和学习环境等轻量级、中低负载…