前段时间利用pywebio搭建了一个在线生成简单封面图的工具。

封面图生成

当时候是部署在本地,但是我忘了记录了,现在想要更新一下代码,搞得一团糟。

screen

我在本地有一个放在pve上的ubuntu,项目久运行在这台机子上。想要持久化运行,我准备选择screen,好像也是使用的人比较多。

这里找了一个比较清楚的教程

Linux中的screen命令的用法 - watsono - 博客园

我按照上面说的,首先screen -ls 查看到有一个窗口。于是使用screen -r 窗口名 进入,接着按ctrl+d 把窗口kill调。因为我也不知道这个窗口是什么时候遗留下来的。

接着输入screen -S cover 就建立了一个叫做cover的窗口,这里的S必须得大写。接着在窗口中输入命令python3 main.py 调用程序。

但是这个时候报错,提示我说这个端口已经被占用了。我心领神会,肯定是上次部署持久化运行,影响还没有去除。

虽然我忘了上次是怎么弄的了,但是输入了下面的代码:

ps -ef|grep python

查到了后台运行的python程序,接着使用sudo kill -9 ID 把程序给强制关掉,再把上次的流程重新走一遍。这次顺利启动了。

启动之后按ctrl+a+d 进行退出,此时使用screen -ls 也确实看到我刚才的cover窗口是最小化的形式。

caddy

虽然说本地已经可以访问到我的cover服务了,但是外网还不行。

我之前把这个web服务做了端口映射。接着在腾讯云里挂了CDN进行回源。

所以需要把域名跟这个服务怎么绑定一下,就像我用宝塔建站的时候填入域名一样。好吧,我这一块真的不是很懂,反正Nginx也没学过。

但是这次我不使用Nginx了,因为反向代理之前试过很麻烦。根据开发者的推荐,我使用caddy2来完成这个操作。

首先我在刚才运行py文件的地方放入了一个Caddyfile文件,里面就填入了简短的代码:

cover.xhhdd.cc:80 {
        reverse_proxy localhost:5015
}

接着在这个目录下输入caddy run 就行。

关于caddy的具体操作我已经有点模糊了,官网的英文看不明白,当时候好像是参考的博客园上的一位老哥的文章。

关于pywebIO

写上一篇文章的时候,在部署的方式上花费了很多的时间。

主要是会话结束之后的那个清理模块,在不同的部署方式下,有时候会启动,有时候不会启动。我还特意去github上面提问。

不过这个问题最近开发者好像已经是解决了,所以不用操心了。

最后修改:2023 年 03 月 01 日
如果觉得我的文章对你有用,请随意赞赏