# go_easy_server **Repository Path**: cygrkj/go_easy_server ## Basic Information - **Project Name**: go_easy_server - **Description**: 搭建的简单go服务器,提供了基础的服务,如:指定静态文件目录,指定端口,是否启用https - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-10-23 - **Last Updated**: 2024-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Go HTTP/HTTPS Easy Server 这是一个简单的 Go 语言编写的 HTTP/HTTPS 服务器示例,该服务器可以根据命令行参数选择是否启用 HTTPS,并从指定目录提供静态文件服务。 ## 没有 go 环境: 如没有 go 环境,可直接下载二进制文件,直接运行即可。 二进制文件存放在:build/24-10-23/ ## 目录结构、 - `build/` 目录包含编译好的二进制文件。 - `certs/` 目录包含用于 HTTPS 的证书文件。 - `main.go` 是主程序入口。 ## 前提条件 - Go 语言环境已安装。 - 已经创建了 `server_cert.pem` 和 `server_key.pem` 证书文件。 ## 构建与安装 打开终端,导航到包含 `main.go` 的目录,并执行以下命令来构建项目: ```sh go build -o server . ``` 这将生成一个名为 server 的可执行文件。 ## 如何运行 运行服务器时,您可以使用命令行标志来指定是否启用 HTTPS、静态文件的路径以及服务器监听的端口号: ### 启用 HTTPS 默认情况下,服务器将启用 HTTPS 并监听端口 443: ```sh ./server ``` 如果想指定不同的端口: ```sh ./server -https=true -port=4433 ``` ### 不启用 HTTPS 如果不启用 HTTPS,可以这样运行: ```sh ./server -https=false ``` 如果想指定不同的端口: ```sh ./server -https=false -port=8080 ``` ## 静态文件目录 默认情况下,服务器将查找当前目录下的 dist 文件夹。如果需要指定其他目录,可以使用 -dist 参数: ```sh ./server -dist=./path/to/your/static/files ``` ## 命令行标志 | 参数 | 描述 | 默认值 | | -------- | ------------------ | --------------------------------- | | `-https` | 是否启用 HTTPS | `true` | | `-dist` | 静态文件目录路径 | 当前目录下的 `dist` 文件夹 | | `-port` | 服务器监听的端口号 | HTTPS 启用时为 `443`,否则为 `80` |