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 进程号
相关推荐
古城小栈2 分钟前
Rust 网络请求库:reqwest
开发语言·网络·rust
JavaGuide4 分钟前
SpringBoot 官宣停止维护 3.2.x~3.4.x!
java·后端
hqwest21 分钟前
码上通QT实战12--监控页面04-绘制6个灯珠及开关
开发语言·qt·qpainter·qt事件·stackedwidget
i橡皮擦27 分钟前
TheIsle恐龙岛读取游戏基址做插件(C#语言)
开发语言·游戏·c#·恐龙岛·theisle
Victor35632 分钟前
Hibernate(39)Hibernate中如何使用拦截器?
后端
Victor35636 分钟前
Hibernate(40)Hibernate的命名策略是什么?
后端
bing.shao1 小时前
golang 做AI任务执行
开发语言·人工智能·golang
Knight_AL1 小时前
Spring 事务管理:为什么内部方法调用事务不生效以及如何解决
java·后端·spring
bcbnb1 小时前
iOS代码混淆技术深度实践:从基础到高级全面解析
后端
加洛斯1 小时前
SpringSecurity入门篇(2):替换登录页与config配置
前端·后端