首页 文章 精选 留言 我的

精选列表

搜索[bash],共7221篇文章
优秀的个人博客,低调大师

宝塔bash命令重启 Go 项目的方式

### 宝塔重启 Go 项目:从一键发布脚本里翻出来的隐藏命令 最近在搞 Go 程序的一键编译和一键发布,原本只想写个部署脚本:代码拉下来,`go build` 编译,替换二进制,再把服务重启。前面几步都好办,卡住的是最后一步——怎么让宝塔里的 Go 项目自动重启。 最笨的办法是登录面板点一下“重启”。但既然要做自动化,总不能每次发布还手动点按钮。于是我开始顺着宝塔的目录结构往下翻。 宝塔的主目录在 `/www`,服务相关的东西基本都在 `/www/server` 下面。其中面板核心代码在 `/www/server/panel`,这里面又分了很多子目录: - `BTPanel`:面板主程序; - `config`:全局配置; - `data`:运行时数据; - `vhost`:站点和反向代理配置; - `script`:各种脚本,很多计划任务、备份任务都从这里调用。 我一开始重点看了 `script` 目录。这个目录里放了不少脚本,比如 `backup.py`、`logsBackup.py`、`rememory.sh` 之类,看起来都是面板内部真正干活的东西。 当时就想,既然面板上能重启项目,那背后一定有个脚本在负责这件事。 继续翻的时候,果然看到了 `restart_project.py`。名字非常直白,基本就是“重启项目”的意思。这个脚本不在官方公开的 `bt` 命令列表里,平时用 `bt restart` 只能重启面板本身,并不能重启某个具体的网站或 Go 项目。 所以它更像是面板内部使用的接口,文档里不会专门写出来。 打开脚本简单看了一眼,它接受语言类型和项目名称作为参数。于是我在终端里试了一下: ``` bt python /www/server/panel/script/restart_project.py go chat ``` 这里 `go` 表示项目语言类型,`chat` 是宝塔面板里配置的项目名称。执行之后,项目直接重启了,日志里也没有报错。后面又试了几次,状态都很稳定,不是那种偶尔能跑通的野路子。 这件事挺有意思。宝塔对外提供的命令行工具,主要用来管理面板自身,比如重启面板、修改端口、查看登录信息。 但面板内部其实还藏着一批更细粒度的脚本,真正支撑着网页上那些按钮。只要你愿意翻一翻 `/www/server/panel/script`,就能看到不少平时不会注意到的东西。 对自动化部署来说,这条命令刚好补上了最后一环: ``` go build -o chat # 替换二进制文件 bt python /www/server/panel/script/restart_project.py go chat ``` 编译、替换、重启,全部可以在脚本里完成,不需要再登录面板点按钮。很多时候,文档里找不到的答案,其实就藏在源码和目录结构里。 ---

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册