go创建web项目分别在windows和linux部署

简介: go创建web项目分别在windows和linux部署

转载请注明出处:

1.通过idea 创建go项目,并指定go版本,以及创建main.go 的入口类

  创建的项目名称为:go_web_test1,  main.go 中代码如下:

package main
import (
    "fmt"
    "net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, World!")
}
func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

package main


import (

   "fmt"

   "net/http"

)


func handler(w http.ResponseWriter, r *http.Request) {

   fmt.Fprintf(w, "Hello, World!")

}


func main() {

   http.HandleFunc("/", handler)

   http.ListenAndServe(":8080", nil)

}

  最基础的web的目录结构和代码如下:

           

  注意事项,main.go 中的package 必须为 package main,程序才能运行。

  如果不是package main,在编译启动程序时报错:package command-line-arguments is not a main package

2.在windows下编译发布启动

  进入到项目的目录结构下面,使用 go build -o project_name.exe  ,进行编译和打包项目

go build -o go_web_test1.exe

  运行这个命令之后,会生成一个 对应的 exe 文件,在windows 上双击就可以运行该程序了。

  由于在项目的main.go 中定义了一个最基本的接口路由处理,服务启动之后,访问该api:

                 

  可以看到调用该api后返回的接口数据:hello ,world

3.在linux环境下编译发布启动

  将刚刚编写的go_web_test1 项目代码上传到linux,并删掉在windows 编译的 exe文件,在linux上通过go build 进行重新编译。  

go build

  在linux上执行之后生成了一个 项目名称对应的二进制文件,当在Linux上使用go build命令编译Go Web项目时,默认情况下会生成一个名为与包名相同的可执行文件,没有文件扩展名。这个文件就是一个可执行的二进制文件,它包含了Go程序的机器码和相关的元数据。

             

  通过 ./go_web_test 就可以启动,

           

  进行接口调试:

       

 

标签: GO

目录
相关文章
|
2月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
408 116
|
2月前
|
安全 Linux 生物认证
Nexpose 8.25.0 for Linux & Windows - 漏洞扫描
Nexpose 8.25.0 for Linux & Windows - 漏洞扫描
121 0
Nexpose 8.25.0 for Linux & Windows - 漏洞扫描
|
2月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
267 4
|
2月前
|
安全 Linux iOS开发
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
368 53
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
|
2月前
|
安全 Linux 生物认证
Nexpose 8.24.0 for Linux & Windows - 漏洞扫描
Nexpose 8.24.0 for Linux & Windows - 漏洞扫描
206 17
Nexpose 8.24.0 for Linux & Windows - 漏洞扫描
|
2月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
161 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
2月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
208 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
2月前
|
Linux API iOS开发
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
227 14
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
|
2月前
|
Java 测试技术 网络安全
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
131 0
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
|
2月前
|
Linux 虚拟化 iOS开发
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
497 0
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端