go前后端项目的启动 、打包和部署

go前后端项目的启动 、打包和部署

1.go前后端项目的启动

node下载地址:https://nodejs.org/zh-cn/download

go下载地址:The Go Programming Language

1.1vue前端启动

下载包:npm install 或者yarn

启动:npm run dev

idea快捷启动如下图

1.2go项目启动

1.先下载和配置环境变量Windows上安装Go并配置环境变量(图文步骤)_windows配置go环境变量-CSDN博客

2.完成环境搭建用GoLang开发

3.启动main 缺少的依赖自动下载

2.go前后端项目的打包

2.1vue前端打包

npm run build

编译器快捷配置如下图

2.2go后端打包

参考:GO项目的打包和部署 - Gold_stein - 博客园

运行在不同服务器环境上需要打不同环境的包

复制代码
# 为 Linux 系统打包
GOOS=linux GOARCH=amd64 go build -o your_app_linux main.go

# 为 Windows 系统打包
GOOS=windows GOARCH=amd64 go build -o your_app_windows.exe main.go

# 为 macOS 打包
GOOS=darwin GOARCH=amd64 go build -o your_app_mac main.go

3.go项目的部署

前后端分离 前端需要nginx

3.1前端部署

1.部署nginx

Linux系统下安装配置nginx(保姆级教程)_nginx下载安装教程-CSDN博客

2.将2.1 打包的dist包放到服务器例如指定的**/myproject/**下

前端包所在目录:/myproject/dist

nginx所在目录:/usr/local/nginx

3.修改**/usr/local/nginx/conf/nginx.conf**配置

此步骤目的代理转发到指定的后端接口

说明:http://192.168.17.17:18080;为后端部署的地址

复制代码
	server {
		listen 8080;			
		server_name localhost;
		root /myproject/dist;
		location / {
			 try_files $uri $uri/ /index.html; 
		}
		location /api/ {
			rewrite ^/api/(.*)$ /api/$1 break;
			proxy_pass http://192.168.17.17:18080;
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
		}
	}

4.启动nginx

复制代码
​​​​​​​sudo /usr/local/nginx/sbin/nginx

如果修改了conf再去重新加载配置

复制代码
sudo /usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf

5.关闭nginx

复制代码
sudo pkill -9 nginx

3.2go后端启动

1.上传对应的包到服务器指定的目录下 该传的都穿

2.修改config.yml配置文件 修改测试环境的信息为正式环境的信息。

3.nohub启动

复制代码
nohup ./myproject-go-linux > log/myproject-go.log 2>&1 &

4.查看进程

复制代码
lsof -i:18080

5.日志查看 log 目录下myproject-go.log文件

6.关闭后端

复制代码
kill -9 进程号
相关推荐
为思念酝酿的痛6 小时前
POSIX信号量
linux·运维·服务器·后端
小羊在睡觉6 小时前
力扣84. 柱状图中最大的矩形
后端·算法·leetcode·golang·go
AI玫瑰助手6 小时前
Python函数:默认参数的定义与注意事项
开发语言·python·信息可视化
油炸自行车6 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
肩上风骋7 小时前
C++14特性
开发语言·c++·c++14特性
swipe7 小时前
Neo4j + Graph RAG 医疗知识图谱工程实践:患者教育问答真正需要的是“关系可追溯”
后端·langchain·llm
源码宝8 小时前
MES系统源码:Java8 + SpringBoot2.7 + MySQL8 + Redis,后端源码清爽易扩展
java·后端·源码·springboot·mes系统·源码二开·mes源码
JAVA社区8 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
弥树子8 小时前
踩坑记录:服务器内网调用接口,真实请求URL与官方公开URL不一致问题排查
开发语言·php
金銀銅鐵8 小时前
[Java] 如何理解 class 文件中方法的 descriptor?
java·后端