服务器上部署并启动 Go 语言框架 **GoZero** 的项目

打印 上一主题 下一主题

主题 934|帖子 934|积分 2802

要在服务器上部署并启动 Go 语言框架 **GoZero** 的项目,下面是一步步的操作指南:
### 1. 安装 Go 语言环境
起首,确保你的服务器上已安装 Go 语言。如果还没有安装,可以通过以下步调举行安装:
#### 1.1 安装 Go 语言
- 对于 **Ubuntu/Debian** 体系:
    ```bash
  1.     sudo apt update
  2.     sudo apt install golang-go
复制代码

    ```
- 对于 **CentOS/RHEL** 体系:
    ```bash
  1.     sudo yum install golang
复制代码

    ```
- 或者,你可以从 Go 官方网站下载并安装最新版本:
  
    [Go 下载链接](https://go.dev/dl/)
#### 1.2 设置 Go 环境变量
安装完成后,需要设置 Go 环境变量。编辑 `.bashrc` 或 `.zshrc` 文件,添加以下内容:
```bash
  1. export GOPATH=$HOME/go
  2. export GOROOT=/usr/local/go  # 根据你的安装路径调整
  3. export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
复制代码

```
然后运行以下命令使配置见效:
```bash
  1. source ~/.bashrc  # 或者 source ~/.zshrc
复制代码

```
#### 1.3 验证 Go 安装
使用以下命令查抄 Go 是否成功安装:
```bash
  1. go version
复制代码

```
如果成功,你会看到类似以下的输出:
```bash
  1. go version go1.23.3 linux/amd64
复制代码

```
### 2. 安装 GoZero
GoZero 是一个微服务框架,你可以使用 `go-zero` 的 CLI 工具来快速创建和管理 GoZero 项目。
#### 2.1 安装 GoZero CLI 工具
起首需要安装 `go-zero` 的 CLI 工具,可以使用以下命令举行安装:
```bash
  1. go install github.com/zeromicro/go-zero/tools/goctl@latest
复制代码

```
安装完成后,确保 `goctl` 已加入到环境变量中:
```bash
  1. export PATH=$PATH:$GOPATH/bin
复制代码

```
运行以下命令查抄 `goctl` 是否安装成功:
```bash
  1. goctl version
复制代码

```
### 3. 获取并构建 GoZero 项目
#### 3.1 获取你的 GoZero 项目代码
创建项目目次
  1. mkdir golang
复制代码

假设你的 GoZero 项目代码托管在 Git 仓库中,可以通过以下命令将项目克隆到服务器上:
```bash
  1. git clone https://github.com/your-username/your-gozero-project.git
  2. cd your-gozero-project
复制代码

```
#### 3.2 安装项目依靠
GoZero 项目的依靠管理通常使用 Go Modules(`go.mod`)。进入项目目次后,实行以下命令安装项目依靠:
```bash
  1. go mod tidy
复制代码

```

#### 3.3 构建项目
在项目根目次下,使用以下命令来编译项目:
```bash
  1. go build -o your-app-name
复制代码

```
这会在当前目次下天生一个可实行文件 `your-app-name`,你可以使用它来启动应用。
启动项目
  1. ./urltopdf
复制代码

### 4. 配置 GoZero 项目
GoZero 项目通常有多个配置文件,此中包括应用程序的配置(如端口、数据库、日志等)和微服务相关配置。确保在部署前配置好这些文件。
#### 4.1 配置文件示例
GoZero 配置通常存放在 `etc` 目次下,比方:
```yaml
  1. # etc/service.yaml
  2. Name: service-name
  3. Host: 0.0.0.0
  4. Port: 8080
复制代码
# 数据库连接配置
  1. Db:
  2.   Host: localhost
  3.   Port: 3306
  4.   User: root
  5.   Password: your-password
  6.   Name: your-db-name
复制代码

```
你可以根据你的项目需求调解 `service.yaml` 中的配置项。
### 5. 启动 GoZero 项目
#### 5.1 启动项目
在项目根目次下,实行以下命令来启动项目:
```bash
  1. ./your-app-name
复制代码

```
或者使用 Go 直接运行:
```bash
  1. go run main.go
复制代码

```
#### 5.2 设置为背景服务(可选)
如果你盼望将 GoZero 项目作为背景服务运行,可以使用 `systemd` 来管理应用程序。
起首,创建一个 `systemd` 服务文件:
```bash
  1. sudo nano /etc/systemd/system/your-app-name.service
复制代码

```
然后,在文件中添加以下内容:```ini
  1. [Unit]
  2. Description=GoZero Service
  3. After=network.target
  4. [Service]
  5. ExecStart=/path/to/your/gozero-project/your-app-name
  6. WorkingDirectory=/path/to/your/gozero-project
  7. Restart=always
  8. User=your-username
  9. Group=your-group
  10. Environment=GOPATH=/home/your-username/go
  11. [Install]
  12. WantedBy=multi-user.target
复制代码

```
保存并退出。然后重新加载 `systemd` 配置并启动服务:
```bash
  1. sudo systemctl daemon-reload
  2. sudo systemctl start your-app-name
  3. sudo systemctl enable your-app-name  # 设置开机启动
复制代码

```
#### 5.3 检察服务状态
你可以使用以下命令检察服务的状态:
```bash
  1. sudo systemctl status your-app-name
复制代码

```
### 6. 配置 Nginx(可选)
如果你需要通过域名访问 GoZero 项目,可以使用 Nginx 举行反向署理,将请求转发到你的 GoZero 项目所在的端口。
进入Nginx的配置目次

添加配置文件

### 7. 使用 Docker 部署(可选)
如果你想使用 Docker 部署 GoZero 项目,可以按照以下步调操作:
#### 7.1 创建 Dockerfile
在项目根目次下创建 `Dockerfile`:
```Dockerfile
# 使用官方 Go 镜像
  1. FROM golang:1.20-alpine
复制代码
# 设置工作目次
WORKDIR /app
# 复制 Go 项目文件
COPY . .
# 下载依靠并构建项目
  1. RUN go mod tidy && go build -o your-app-name
复制代码
# 暴露端口
EXPOSE 8080
# 启动应用程序
CMD ["./your-app-name"]
```
#### 7.2 构建 Docker 镜像
```bash
docker build -t your-app-name .
```
#### 7.3 运行 Docker 容器
```bash
docker run -d -p 8080:8080 --name your-app-name your-app-name
```
这样就可以通过 Docker 容器来运行 GoZero 项目。
### 总结
1. **安装 Go 语言和 GoZero**:确保 Go 环境精确配置,安装 GoZero CLI 工具。
2. **获取并构建 GoZero 项目**:克隆项目并安装依靠,构建项目。
3. **配置与启动项目**:根据需要配置 GoZero 项目的配置文件,并启动项目。
4. **管理服务**:通过 `systemd` 或 Docker 管理项目的启动和运行。
按照这些步调,你可以顺利地在新服务器上部署并启动 GoZero 项目。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表