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)

相关推荐
一梦浮华1 小时前
自学嵌入式 day30 IPC:进程间通信
linux·运维·服务器
求索小沈1 小时前
ubuntu22.04安装anaconda
linux·运维·服务器
笑衬人心。2 小时前
项目中数据库表设计规范与实践(含案例)
服务器·数据库·设计规范
小张不嚣张꒰ঌ(˚ᆺ˚)໒꒱3 小时前
Centos7在yum当中遇到Could not resolve host: mirrorlist.centos.org解决方案
linux·运维·服务器·centos
Sally璐璐3 小时前
CentOS企业级文件服务器终极部署指南
linux·服务器·centos
DuelCode3 小时前
Windows VMWare Centos Docker部署Nginx并配置对Springboot应用的访问代理
linux·运维·服务器
myloveasuka3 小时前
信号操作集函数
linux·运维·服务器·c语言·c++·vscode
舒克起飞了4 小时前
linux系统编程——Makefile、GDB调试
linux·运维·服务器
m0_694845576 小时前
服务器如何配置防火墙规则开放/关闭端口?
linux·服务器·安全·云计算
阿巴~阿巴~6 小时前
Linux基本命令篇 —— alias命令
linux·服务器·bash