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 进程号
相关推荐
敲代码的嘎仔11 分钟前
互动问答系统实战:两级评论模型、ES 搜索集成、Caffeine 多级缓存全记录
java·开发语言·数据库·elasticsearch·缓存·mybatis·高并发
yujunl12 分钟前
找不到指定的SDK(“Microsoft.NET.Sdk.Web“)
开发语言
IT_陈寒14 分钟前
Vite的HMR怎么突然罢工了?原来是我漏了这个配置
前端·人工智能·后端
BingoGo23 分钟前
一个ChatGPT 超级省额度方案!用 TaskQuay 连接网页 ChatGPT 和本地 Codex
人工智能·后端
郝学胜-神的一滴27 分钟前
C++11 工程级应用 12:编译期类型魔法,干掉重复与臃肿的代码
开发语言·数据结构·c++·软件工程·visual studio
QQ_216962909629 分钟前
基于微服务架构的店铺管理系统的设计与实现
大数据·spring boot·后端·spring·微服务·小程序·架构
m0_7345717637 分钟前
深入理解C++ 析构函数<四>虚析构函数
开发语言·c++
皓月盈江39 分钟前
Linux系统使用VSCode搭建GO开发环境
linux·vscode·ubuntu·golang·debian
芒鸽41 分钟前
把 Agent 运行时做成插件系统:agent-harness(openJiuwen Rust版) 的实践
开发语言·后端·rust
Brilliantwxx42 分钟前
【STM32】 I2C 外设内部硬件结构和状态位
开发语言·stm32·单片机·嵌入式硬件