# go-webserver **Repository Path**: jcstone/gowebserver ## Basic Information - **Project Name**: go-webserver - **Description**: 基于go gin开发的一个简单web项目发布托管工具 - **Primary Language**: Go - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-26 - **Last Updated**: 2025-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 说明 本程序是基于go gin开发的简单的Web托管服务器。 ## 设置环境变量 设置环境变量或修改.env文件 ``` env GIN_MODE=debug # GIN_MODE=release GIN_LogInfo=true GIN_LogError=true GoWebServerEnableHttps=true GoWebServerCertFile=./server.crt GoWebServerKeyFile=./server.key ``` ## 环境变量说明 - GIN_MODE:Gin模式,可选值为debug或release,默认debug - debug模式下,日志仅输出到控制台, - release模式下,日志输出到文件和控制台。并通过GIN_LogInfo和GIN_LogError控制是否输出。 - GIN_LogInfo :release模式下,是否输出信息日志,可选值为true或false,默认true - GIN_LogError :release模式下,是否输出错误日志,可选值为true或false,默认true - GoWebServerEnableHttps:是否启用HTTPS,可选值为true或false,默认false - GoWebServerCertFile: HTTPS 证书文件路径,默认server.crt - GoWebServerKeyFile: HTTPS 私钥文件路径,默认server.key 注意:启用HTTPS时,需要提供证书文件(server.crt)和密钥文件(server.key),并将它们放在与webserver可执行程序相同的目录下。 ## webserver.json 配置文件说明 webserver.json 是一个JSON格式的配置文件,用于配置多个Web项目的监听端口和静态文件路径。 ``` json [ { "name": "sample", "port": 8081, "static_path": "./webapp/sample" }, { "name": "hbguanqu", "port": 8082, "static_path": "C:/Workspace/hbguanqu/dist" } ] ``` Web项目配置项说明: - name:Web项目名称,用于注明项目基本信息。 - port:Web项目监听端口号。 - static_path:Web项目静态文件路径。 注意: - 端口号不得重复,且不能使用已被其他服务占用的端口号。 - static_path必须是实际存在的Web项目目录路径。 ## 项目打包 本项目使用go build命令打包,可将交叉编译打包命令放在一个脚本文件中,如windows下创建build.cmd脚本: ``` shell go env -w CGO_ENABLED=0 go env -w GOOS=linux go env -w GOARCH=amd64 go build -o ./build/webserver main.go go env -w GOARCH=amd64 go env -w GOOS=windows go build -o ./build/webserver.exe main.go go env -w GOOS=darwin go env -w GOARCH=amd64 go build -o ./build/webserver.macos main.go ``` 注意: - 打包时需要在项目根目录下执行打包命令。 - 打包后的webserver.exe为windows系统可执行程序,webserver为Linux系统可执行程序可,webserver.macos为MacOS系统可执行程序。 - .env为环境变量文件,可自行设置环境变量,则无需将其包含在项目根目录下。 - webserver.json为项目Web服务器配置文件,必须包含在项目根目录下。 - 如环境变量GoWebServerEnableHttps=true,则项目根目录下必须包含server.crt和server.key文件,用于HTTPS证书和密钥。 ## 运行 配置好环境变量和webserver.json文件后,在当前系统中运行对应的webserver可执行程序即可。