# mdproject **Repository Path**: dabolau/mdproject ## Basic Information - **Project Name**: mdproject - **Description**: 标记助手 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-11 - **Last Updated**: 2021-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 标记助手(mdproject) ### 项目介绍 Learn gin framework ### 使用模块 ```bash # 服务框架 Gin $ go get -u github.com/gin-gonic/gin # 数据库操作 GORM $ go get -u gorm.io/gorm # 数据库驱动 Sqlite3 $ go get -u gorm.io/driver/sqlite # 会话控制 Session $ go get github.com/gin-contrib/sessions # 数据序列 UUID $ go get github.com/google/uuid # 发送邮件 $ go get -u github.com/jordan-wright/email # 生成二维码 $ go get -u github.com/skip2/go-qrcode ``` ### 克隆项目并进入项目根目录 ```bash # 克隆项目 $ git clone https://gitee.com/dabolau/mdproject.git # 进入项目根目录 $ cd /home/dabolau/mdproject ``` ### 运行方式一 ```bash # 运行命令 $ go run main.go ``` 验证程序服务是否启动成功 ### 运行方式二 ```bash # 构建可执行文件 $ go build -o md # 运行可执行文件 $ ./md ``` 验证程序服务是否启动成功 # 部署到服务器(nginx) ### 安装nginx ```bash # 安装nginx $ sudo apt install nginx ``` ### 启动nginx ```bash # 启动nginx $ sudo nginx ``` ### 创建并编辑配置文件(mdproject_nginx.conf) ```bash # 项目目录 $ cd /home/dabolau/mdproject/ # 创建并编辑服务文件 $ sudo nano mdproject_nginx.conf ``` ### 配置文件mdproject_nginx.conf中的内容 ```bash # 定义服务器组,实现负载均衡 upstream mdproject { server 127.0.0.1:4925; } # 虚拟主机 server { # 监听端口 listen 8081; # 访问域名 server_name 10.22.102.201; # 编码格式,若网页格式不同,将被自动转码 charset utf-8; # 最大上传限制 client_max_body_size 2000m; # 对url进行匹配 location / { proxy_pass http://mdproject; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 配置静态文件 location /static/ { alias /home/dabolau/mdproject/static/; } # 配置媒体文件 location /media/ { alias /home/dabolau/mdproject/media/; } } ``` ### 建立软连接 ```bash # 建立软连接 $ sudo ln -s /home/dabolau/mdproject/mdproject_nginx.conf /etc/nginx/sites-enabled/ ``` ### 检查配置文件准确性 ```bash # 检查配置文件准确性 $ sudo nginx -t ``` ### 重新加载配置文件 ```bash # 重新加载配置文件 $ sudo nginx -s reload ``` 验证网页服务是否启动成功 ### 常用命令(nginx) ```bash # 启动nginx $ sudo nginx # 停止nginx $ sudo nginx -s stop # 退出nginx $ sudo nginx -s quit # 重启nginx $ sudo nginx -s reopen # 重新加载配置文件 $ sudo nginx -s reload # 检查配置文件准确性 $ sudo nginx -t ``` # 开机启动服务(systemd) ### 创建并编辑服务文件md.service ```bash # 服务目录 $ cd /etc/systemd/system/ # 创建并编辑服务文件 $ sudo nano md.service ``` ### 服务文件md.service中的内容 ```bash [Unit] # 单元描述 Description=md # 在什么服务启动之后再执行本程序 # After=mysql.service [Service] Type=simple # 程序目录 WorkingDirectory=/home/dabolau/mdproject # 启动命令 ExecStart=/home/dabolau/mdproject/md # 重启条件 Restart=alway # 几秒后重启 RestartSec=5 [Install] WantedBy=multi-user.target ``` ### 启动服务 ```bash # 启动服务 sudo systemctl start md.service ``` 验证服务是否启动成功 ### 添加到开机启动项中 ```bash # 添加到开机启动项中 $ sudo systemctl enable md.service ``` 重启系统,验证开机启动服务是否设置成功 ### 常用命令(systemd) ```bash # 重新加载服务 sudo systemctl daemon-reload # 启动服务 sudo systemctl start md.service # 停止服务 sudo systemctl stop md.service # 重启服务 sudo systemctl restart md.service # 查看服务 sudo systemctl status md.service # 添加到开机启动项中 sudo systemctl enable md.service # 从开机启动项中移除 sudo systemctl disable md.service ```