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 进程号
相关推荐
你怎么知道我是队长1 分钟前
JavaScript 的控制语句介绍
开发语言·javascript·ecmascript
神奇小汤圆23 分钟前
Redis 哨兵搭建+ACL权限控制
后端
RSTJ_162525 分钟前
PYTHON+AI LLM DAY ONE HUNDRED AND THREE
开发语言·人工智能·python
大型UFO1 小时前
在 Hermes Agent 里搭建全中文 Honcho 记忆系统踩过的坑
后端
charlie1145141911 小时前
RK3506B: buildroot:出一份正规的最小 rootfs
开发语言·嵌入式·开源项目·rk3506b
前端工作日常2 小时前
我学习到的Java概念
java·后端
Byron Loong2 小时前
【c#】Bitmap释放之 大象与蚊子
开发语言·c#
要阿尔卑斯吗2 小时前
深入解析 Docling Java SDK 集成:Source 与 Target 的实战应用
后端
音符犹如代码2 小时前
Java动态线程池:避坑原生线程池,吃透Dynamic-TP,手写一个Demo
java·开发语言
喜欢就别2 小时前
平均风险:Rényi DP 和零集中 DP
开发语言·r语言