Vue项目打包
npm run build
建议将前端打包生成的内容打成压缩包后上传服务器
解压 zip
压缩包
unzip web.zip -d web
Go项目打包
法一(原生)
set CGO_ENABLED=0 set GOOS=linux set GOARCH=amd64
如上述方法无效可使用
go env -w CGO_ENABLED=0 go env -w GOOS=linux go env -w GOARCH=amd64
打包项目(main.go为入口文件)
go build main.go
法二
安装
gox
go get github.com/mitchellh/gox
进入工作目录执行:
gox -os "linux" -arch amd64
修改文件权限
chmod -R 777 main
后台启用服务
nohup ./main &
查看服务状态
ps aux | grep main
查看端口状态
netstat -ntlp
Nginx配置
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
underscores_in_headers on;
include /etc/nginx/conf.d/*.conf;
}
新建 /etc/nginx/cert
存放ssl证书
新建 /etc/nginx/conf.d
存在子配置文件
这里以 www.melp.top
为例
# www.melp.top.conf
server {
listen 443 ssl;
server_name www.melp.top;
ssl_certificate /etc/nginx/cert/www.melp.top.pem;
ssl_certificate_key /etc/nginx/cert/www.melp.top.key;
location / {
# 前端index.html所在路径
alias /home/web/;
}
location /api/{
proxy_pass http://127.0.0.1:8000/api/v1/;
}
access_log /var/log/nginx/www.melp.top.log;
error_log /var/log/nginx/www.melp.top.error.log;
}
测试配置文件是否正确
nginx -t
重启 Nginx
systemctl restart nginx