Go-Admin

Go-Admin

2024-01-02
学习

准备 #

apt update
apt install -y git libnginx-mod-http-image-filter npm golang
git clone https://gitee.com/go-admin-team/go-admin.git
git clone https://gitee.com/go-admin-team/go-admin-ui.git

后端编译 #

  • 国内加速下载,初次启动运行以下一次
  • ./go-admin migrate -c settings.yml
cd ~/go-admin
export GOPROXY=https://goproxy.cn,direct
go mod tidy
go build
cp config/settings.yml .
sed -i 's|user:password@tcp(127.0.0.1:3306|zian:zian@tcp(172.20.0.1:3306|g' settings.yml
sed -i 's|8000|8009|g' settings.yml
./go-admin server -c settings.yml -a true

前端编译 #

  • 国内加速下载
  • npm版本太新会出现问题,目前加参数解决
cd ~/go-admin-ui/
export NODE_OPTIONS=--openssl-legacy-provider
npm install --registry=https://registry.npmmirror.com --force
npm run build:prod

nginx #

sed -i 's|www-data|root|g' /etc/nginx/nginx.conf
cat << EOF > /etc/nginx/sites-enabled/8008.conf
server {
    listen 8008;
    root /root/go-admin-ui/dist;
    gzip_min_length 10240;
    gzip_types text/plain text/css application/json application/javascript text/javascript;
    location ~* ^/img/.*\.(jpg|jpeg|png|gif|webp|bmp)$ {
        expires 7d;
        image_filter resize 200 -;
    }
    location / {
        expires 7d;
        limit_rate 90k;
        try_files \$uri \$uri/ /index.html;
    }
    location /api/ {
        proxy_pass http://localhost:8009/api/;
        proxy_set_header Host \$host;
        proxy_set_header X-Real-IP \$remote_addr;
        proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto \$scheme;
    }
	location /static/ {
	    expires 7d;
        proxy_pass http://localhost:8009/static/;
        proxy_set_header Host \$host;
        proxy_set_header X-Real-IP \$remote_addr;
        proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto \$scheme;
    }
}
EOF
nginx -s reload

旧版的nodejs+npm #

wget https://nodejs.org/dist/latest-fermium/node-v14.21.3-linux-x64.tar.gz
tar -zxvf node-v14.21.3-linux-x64.tar.gz
mv node-v14.21.3-linux-x64 /
export PATH=$PATH:/node-v14.21.3-linux-x64/bin/
export NODE_OPTIONS=--openssl-legacy-provider
npm config set strict-ssl false