当前位置: 首页 > news >正文

ubuntu golang指定glibc版本_Go Lang 开发笔记《使用 Go Lang 搭建一个 Web 服务!》

e4778d1c9357cb47764be55f89a07f9e.png

步骤1:安装 Iris

1.唯一的要求是Go编程语言(1.13版及更高版本)

$ cd $YOUR_PROJECT_PATH
$ export GO111MODULE=on

2.安装

$ go get github.com/kataras/iris/v12@latest

步骤2:编写 golang 服务

3.创建入口文件

touch hello.go

4.粘贴一下代码至 hello.go

package main

import "github.com/kataras/iris/v12"

func main() {
    app := iris.Default()

    app.Handle("GET", "/ping", func(ctx iris.Context) {
        ctx.JSON(iris.Map{"message": "pong"})
    })

    app.Run(iris.Addr(":8080"))
}

本地运行

➜  toolui go run hello.go
Now listening on: http://0.0.0.0:8080
Application started. Press CMD+C to shut down.
[INFO] 2019/12/19 13:49 200 117.998µs ::1 GET /ping

访问地址可预览 http://localhost:8080/ping

步骤3:编译服务器版本

5.编生产环境

env GOOS=linux GOARCH=amd64 go build hello.go

GOOS指定目标系统类型,GOARCH指定环境。常见的有 amd64 386

通过在服务器运行 uname -m 命令获取系统类型

# uname -m
x86_64

查找对应 ARCH

9373b8dfb12d4eb49fd3b519b0ad13d5.png

步骤4:配置FTP FileZilla

6.由于程序是二进制代码,FTP默认采用ASCII 。导致段错误等问题,修改方式如下:

FileZilla 菜单项 > 传输> 传输类型 > 二进制

步骤5:运行服务

7.通过 SSH 或其他工具登录服务器系统

8.为程序授权

# chmod 777 hello

9.运行服务

# ./hello

或者后台运行

# nohup ./hello >/dev/null 2>&1 &

关闭程序,可以使用命令”ps” 查看后台程序的pid

ps aux

然后使用“kill 程序pid”命令,关闭程序比如程序名为test,可以用如下命令查询

grep hello

访问地址可预览 http://Your server IP address:Port/ping

总结:到这里完成了 Go Lang 程序 Web 服务编写与部署

图书

Installing Iris​docs.iris-go.com
ec79ebac32ef936513f4243b26a04b1a.png
交叉编译Go程序​colobu.com

相关文章:

  • 装机后进不了bios_是生产力也是游戏主力,12.7升A4风冷小钢炮装机体验
  • 差了点什么呢?
  • 黑盒测试和白盒测试_黑盒测试是什么及其测试方法
  • kmem 反编译linux内核_Linux 内核 VS 内存碎片 (上)
  • 总有一些人可以超越死亡——leo荐书(5)
  • 【转】为什么我认为每个程序员都应该用Mac OS X?
  • 用yacc编写的算术运算计算器_Android版科学计算器 Casio business 下载
  • 【转】开发人员为何应该使用 Mac OS X 兼 OS X 小史
  • ps 去掉一个人_电脑没有ps软件?只需要这个网站就能帮你搞定
  • rs多个设备同时传输_华为账号真的能同时登陆多个设备吗?华为官方的介绍来了...
  • dubbo invoke 日期参数怎么传_每日一技|巧用 Telnet 调试 Dubbo 服务
  • 360安全助手 -- 强力卸载电脑上的软件 的问题
  • basic语言基础 chm_专升本:计算机基础知识点大全
  • 等候环境对他的事业完全有利才动手的人,将永远不会成功。
  • python随机生成运算符_我怎样才能随机选择一个数学运算符并用它来问重复出现的数学问题?...
  • Angular Elements 及其运作原理
  • co.js - 让异步代码同步化
  • Go 语言编译器的 //go: 详解
  • httpie使用详解
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Linux各目录及每个目录的详细介绍
  • rc-form之最单纯情况
  • vue脚手架vue-cli
  • 高性能JavaScript阅读简记(三)
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 聊聊directory traversal attack
  • 前端面试总结(at, md)
  • 前端自动化解决方案
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 一些关于Rust在2019年的思考
  • 由插件封装引出的一丢丢思考
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​如何在iOS手机上查看应用日志
  • (04)odoo视图操作
  • (9)STL算法之逆转旋转
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (函数)颠倒字符串顺序(C语言)
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)人的集合论——移山之道
  • (转)我也是一只IT小小鸟
  • (转)一些感悟
  • .“空心村”成因分析及解决对策122344
  • .chm格式文件如何阅读
  • .gitignore文件使用
  • .NET大文件上传知识整理
  • .net中我喜欢的两种验证码
  • @Import注解详解
  • @WebServiceClient注解,wsdlLocation 可配置