跳转到内容

编译

编译命令

Goravel 项目可以使用以下命令进行编译:

// 选择要编译的系统
go run . artisan build

// 指定要编译的系统
go run . artisan build --os=linux
go run . artisan build -o=linux

// 静态编译
go run . artisan build --static
go run . artisan build -s

// 指定输出文件名
go run . artisan build --name=goravel
go run . artisan build -n=goravel

手动编译

常规编译

shell
go build .

部署服务器

在部署过程中,需要将以下文件和文件夹上传到服务器:

./main // 编译生成的二进制文件
.env
./database
./public
./storage
./resources

静态编译

通过常规编译的包也需要依赖部署环境的支持,而静态编译的文件可以自由地放在指定平台上运行,无需环境配置。

shell
go build --ldflags "-extldflags -static" -o main .

交叉编译

编译根据平台有所区分,您需要根据部署情况选择匹配的编译方法。

shell
// 编译Linux环境
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build .

// 编译Windows环境
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build .

// 编译Mac环境
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build .

Docker

Goravel有一个默认的Dockerfiledocker-compose.yml文件,您可以直接使用它,注意此时APP_HOST应该为0.0.0.0

shell
docker build .

Docker Compose

您也可以使用以下命令快速启动服务:

shell
docker-compose build
docker-compose up

注意:如果需要外部访问,你需要将APP_HOST更改为0.0.0.0

减少包大小

config/app.go::providers中注释掉未使用的ServiceProvider将有效减少打包体积。

基于 MIT 许可发布