openwrt上部署go web项目

openwrt上部署go web项目

昨天研究了一下路由器设备(openwrt),部署了最简单的go代码。

显然不能满足于此,要真正部署一个前后端项目。

试试go的兼容性到底怎么样!

一般来说在openwrt上开发Web项目有点小复杂,需要使用一种叫做lua的小众语言。我还是坚持使用go。当然只是做下尝试,没想到完全没问题。

要考虑的问题,openwrt上前端页面到底该怎么部署呢?

没有类似于apache的服务器可以使用,查找了相关资料。原来openwrt上自带了web服务器,更改下配置文件就可以。

配置文件位于 /etc/config/uhttpd

在文件的末尾添加

config 'uhttpd' 'web'

list 'listen_http' '0.0.0.0:81'

option 'home' '/tmp/web'

option 'cgi_prefix' '/cgi-bin'

解释:

  • 第二行的81是端口号,一般使用80作为web服务的端口号
  • 第三行的/tmp/web文件夹下放置html文件
  • 其余不用改动

添加完成之后,在/tmp/web下新增一个index.html文件

<h1>hello world</h1>

刷新uhttpd服务

/etc/inid.d/uhttpd restart

然后访问192.168.121.1:81即可看到hello world字样。

image-20210306215858626

接下来我把我开发的一个前后端项目部署在openwrt上面,看看能不能成功跑起来。

项目链接:https://github.com/gocloudcoder/puhaiPower

后端进行交叉编译生成main二进制程序并传到openwrt上。

GOOS=linux GOARCH=mipsle go build -ldflags "-s -w" main.go

前端使用npm编译

npm run build

生成一个dist文件夹,将dist文件夹传到openwrt上。

dist文件夹内容:

image-20210306220524095

image-20210306220023448

首先将go后端服务跑起来。

image-20210306220140749

然后在浏览器上输入

http://192.168.121.1:81/dist

image-20210306220301178

总结项目所使用到的技术,同时也表明兼容性很好。

go后端,包括mysql,gin,gorm,websocket。

只要是完全用Go写的代码,以及使用了完全用Go写的库,交叉编译都没有问题。

前端:Vue.js,echarts,websocket

万物互联,首先要保证的是兼容性。这些产品都做的很好,真的很img!

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值