Debian 12 服务器搭建Beego环境

一、Debian 12系统准备

1.更新系统

#apt update && apt upgrade -y

2.安装基础工具

#apt install -y git curl wget make gcc

二、安装Go环境

Go语言的镜像官网:https://golang.google.cn/

1.下载go最新版

#cd /usr/local/src

#wget -o https://golang.google.cn/dl/go1.24.2.linux-amd64.tar.gz

#tar -zxvf go1.24.2.linux-amd64.tar.gz -C /usr/local

2.设置环境变量

#vim /etc/profile.d/go.sh

export GOPROXY=https://goproxy.cn # 设置代理

export GOROOT=/usr/local/go #Go的安装目录(这儿用的二进制版本)

export GOPATH=/data/go #Go的工作目录

export GOBIN=$GOPATH/bin

export PATH=PATH:GOROOT/bin:$GOPATH/bin # 设置环境变量

然后执行:

#source /etc/profile.d/go.sh 让配置立即生效

3.查看go版本

#go version

三、安装Beego 及Bee,生成mybeego-app

(一)使用 Go Modules 管理依赖

1.创建项目目录

#mkdir -p /opt/mybeego-app

2.初始化 Go 模块

#go mod init leyuxy.online/mybeego-app

#vim main.go

输入如下内容:

package main

import "github.com/beego/beego/v2/server/web"

func main() {

web.Run()

}

#go mod tidy

3.安装Bee

#go get github.com/astaxie/beego(可能安装不上)

#go install github.com/beego/bee@latest

此时,Bee应该就安装成功了

(二)利用bee new mybeego-app

1.删除/opt/mybeego-app

#rm -rf /opt/mybeego-app

  1. 利用bee new mybeego-app

#cd /opt

#bee new mybeego-app

#ls

此时运行会弹出错误。

3.清理和更新依赖

#go clean -modcache

#go mod tidy

或手动获取beego依赖:

#go get -u github.com/astaxie/beego (建议用这个命令)

#ls

4.生产环境编译(禁用调试模式,优化二进制)

编译 Linux 可执行文件(静态链接,避免依赖问题)

#CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o mybeego-app

四、使用 Systemd 管理进程

1.创建 Systemd 服务文件

#vim /usr/lib/systemd/system/mybeego.service

2.写入以下内容:

Unit

Description=My Beego App

After=network.target

Service

Type=simple

User=www-data

Group=www-data

WorkingDirectory=/opt/mybeego-app

ExecStart=/opt/mybeego-app/mybeego-app

Restart=always

RestartSec=3

#Environment="GIN_MODE=release" # 生产模式

#Environment="BEEGO_RUNMODE=prod" # Beego 生产模式

Install

WantedBy=multi-user.target

3.管理服务

#systemctl daemon-reload

#systemctl start mybeego

#systemctl enable mybeego # 开机自启

#systemctl status mybeego

4.查看日志

#journalctl -u mybeego -f # 实时日志

五、使用 Nginx 反向代理

配置 Nginx 代理到 Beego 应用(默认监听 8080):

root@iZ2vc4lk3435sxtvgjdc79Z:conf.d\]# cat lessonpreparation.conf server { listen 443 ssl; server_name lp.leyuxy.online; ... location / { proxy_ssl_server_name on; *proxy_pass http://127.0.0.1:8080;* ... } # access_log /var/log/nginx/jupyterlab-access.log; } 效果如下: ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0c920edad1ad450a984036b4da87297a.png)

相关推荐
来知晓10 小时前
Linux:WSL内存空间管理之清完内存C盘可用空间不增问题解决
linux·运维·服务器
GTgiantech11 小时前
科普SFP 封装光模块教程
服务器·网络·数据库
深圳市恒讯科技11 小时前
如何在服务器上安装和配置数据库(如MySQL)?
服务器·数据库·mysql
wanhengidc12 小时前
云手机能够流畅运行大型游戏吗
运维·服务器·游戏·智能手机·云计算
繁华的地方不一定留下你的脚印12 小时前
ubuntu18.04版本配置静态IP并且可以上网(解决配置静态IP不能额上网的问题)
运维·服务器
0和1的舞者12 小时前
网络通信的奥秘:HTTP详解 (七)
服务器·网络·网络协议·http·okhttp·软件工程·1024程序员节
南林yan14 小时前
Debian系统的多内核共存
linux·debian·linux内核
闪耀星星14 小时前
debian elctron-builder
运维·debian
会飞的土拨鼠呀14 小时前
Debian 12 笔记本合盖不休眠设置指南
运维·debian
阿猿收手吧!14 小时前
windows本机vscode通过ssh免密登录远程linux服务器 && git push/pull 免密
服务器·windows·vscode