Linux系统之部署Go语言开发运行环境

简介: Linux系统之部署Go语言开发运行环境

一、Golang语言介绍

1.Golang语言简介

Go语言是由谷歌开发的一个开源的编译型的静态语言,它的特点是语法简单易学、开发效率高、执行性能好、天生支持并发,是真正的企业级编程语言。

2.Golang语言的撰写风格

  • 每行程序结束后不需要撰写分号。
  • 左大括号不能够换行放置。
  • if判断式和for循环不需要以小括号包覆起来。

二、本地环境检查

1.检查系统版本

[root@docker ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core) 

2.检查系统内核版本

[root@docker ~]# uname -r 
3.10.0-957.el7.x86_64

三、yum直接安装Golang

1.检查yum仓库

[root@docker ~]# yum repolist all |grep enable 
!base/7/x86_64                       CentOS-7 - Base             enabled: 10,072
!docker-ce-stable/7/x86_64           Docker CE Stable - x86_64   enabled:    209
*!epel/x86_64                        Extra Packages for Enterpri enabled: 13,744
!extras/7/x86_64                     CentOS-7 - Extras           enabled:    515
!updates/7/x86_64                    CentOS-7 - Updates          enabled:  4,691

2.安装Golang

yum -y install golang

3.创建环境变量

mkdir ~/go   # 创建目录
echo 'export GOPATH="$HOME/go"' >> ~/.bashrc   # 写入环境变量文件
source ~/.bashrc   使环境变量生效

四、二进制安装Golang

1.安装wget等工具

yum -y install wget git

2.下载Go安装包

阿里云下载站点: https://mirrors.aliyun.com/golang/
[root@docker ~]# wget https://mirrors.aliyun.com/golang/go1.19.5.linux-amd64.tar.gz -P /usr/local/src
--2023-02-13 22:26:54--  https://mirrors.aliyun.com/golang/go1.19.5.linux-amd64.tar.gz
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 27.221.120.192, 27.221.120.241, 27.221.120.238, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|27.221.120.192|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 148949578 (142M) [application/octet-stream]
Saving to: ‘/usr/local/src/go1.19.5.linux-amd64.tar.gz’

100%[==========================================================================================================================>] 148,949,578 10.2MB/s   in 14s    

2023-02-13 22:27:08 (10.1 MB/s) - ‘/usr/local/src/go1.19.5.linux-amd64.tar.gz’ saved [148949578/148949578]

[root@docker ~]# cd /usr/local/src/
[root@docker src]# ls
go1.19.5.linux-amd64.tar.gz

2.解压到指定的目录

tar -xzf go1.19.5.linux-amd64.tar.gz -C /usr/local/

3.设置环境变量

在/etc/profile文件中定义以前全局变量。
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=~/go
source /etc/profile  #刷新环境变量

4.检查Golang版本

[root@docker ~]# go version
go version go1.19.5 linux/amd64

五、测试Golang语言环境

1.创建一个测试目录

[root@docker local]# mkdir -p /usr/local/go/src/test
[root@docker local]# 

2.编辑test.go文件

[root@docker test]# ls
[root@docker test]# pwd
/usr/local/go/src/test
[root@docker test]# cat test.go 
package main
import "fmt"
func main() {
   fmt.Printf("Go, World\n , better late than never\n")
}

}       



3.构建testgo文件为可执行文件

[root@docker test]# go build test.go 
[root@docker test]# ls
test  test.go

4.测试运行

[root@docker test]# ./test 
Go, World
 , better late than never
相关文章
|
3月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
287 3
Linux系统禁用swap
|
3月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
440 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
395 0
Linux系统初始化脚本
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
288 18
|
3月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
335 1
|
3月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1059 1
|
4月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1649 10
|
3月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
475 1
二、Linux文本处理与文件操作核心命令
|
3月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
327 137