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 进程号
相关推荐
苏辰澈5 分钟前
C++自己的族谱规则:继承详解下
c语言·开发语言·c++·visualstudio
hunter1990109 分钟前
英语作文题目
开发语言
打工仔折腾 AI11 分钟前
从零写一个CAD 05:以鼠标为中心的滚轮缩放矩阵顺序不能反
后端·python·线性代数·性能优化·矩阵·计算机外设·ai agent 实战
谢亮_vipxieliang24 分钟前
Go基础数据类型全解
开发语言·后端·golang
泡海椒25 分钟前
JQuick-Excel 导入反向映射实战:让中文表头稳定落到业务字段
开发语言·python·excel
空堂与归28 分钟前
AI 与 SI(超级智能):先分清窄智能与超级智能的边界
开发语言·人工智能·gpt
熊猫钓鱼>_>29 分钟前
Kotlin Multiplatform for OpenHarmony 实战:为 kotlin-inject 实现依赖注入适配
开发语言·华为·kotlin·ai编程·inject·鸿蒙·openharmony
专业程序开发源29 分钟前
springboot古城景区管理系统88564-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
小蒜学长44 分钟前
基于微信小程序的遇见咖啡店点餐系统设计与实现(代码+数据库+LW)
java·spring boot·后端·微信小程序·咖啡店点餐系统
Wang's Blog1 小时前
Java框架 SpringCloud 快速入门: 网关的 CORS 跨域配置
java·开发语言·spring cloud