Supervisord进程管理工具的重启问题 supervisor.sock no such file
起因前两天,黄哥找到我说,有个网站挂了,需要我去恢复一下,然后给了我账号密码,然后我就去看了一下,然后发现网站使用的是flask搭的,但是,我不太了解,完全不知道是用什么来启动的。甚至nginx都没配软连接,后面拿到了帮助文档才知道,原来使用Supervisord来启动和守护进程。因为之前阿里云服务器空调故障,导致服务器宕机。这个Supervisord直接异常退出了,按照网上的方法,并没有用,然后就去研究了一下。
关于SupervisordSupervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动、重启(自动重启程序)、关闭进程(不仅仅是 Python 进程)Supervisor 是一个 C/S 模型的程序,supervisord 是 server 端,supervisorctl 是 client 端
supervisord的出现,可以用来管理后台运行的程序。通过supervisorctl客户端来控制supervisord守护进程服务,真正进行进程监听的是supervisorctl客户端,而运行super ...
DjangoAdmin后台collectstatic不生效问题
问题起因最近把一个Django项目部署上服务器的时候,发现了一个问题。在收集静态资源的时候,发现后台Admin的样式资源不生效,
具体表现在,执行了collectstatic命令后,提示copy成功
但是实际上,项目目录下并没有收集到文件。
问题分析反复收集了几次,还是不生效。都显示已经收集了,并没有修改。
首先一开始我先按照网上的方法,排除了一些常规的原因,然后开始想想还能有什么离谱的bug,先看看配置文件。
看似并没有什么问题,也确实没什么问题。但实际上这是个巨坑的地方
解决方法非常坑爹的一个地方,先把STATICFILES_DIRS给注释掉,然后再把STATIC_ROOT里的/static/给改成static,如下图:
这样一来就能正常收集了
在收集完静态文件后记得把settings修改回来。
Git配置全局代理解决10054问题
问题复现最近装了新电脑,很多东西都没配置,都是很久以前在笔记本上配置的。结果现在台式上有一堆环境问题,就比如今天这个Git推送的问题就是一个。
众所周知,由于某些不可抗力因素,github在的登录属于一个玄学的问题,偶尔运气好就能裸连,运气不好直接连push都push不上。
解决方法为了解决这个问题,我们一般想到的方法就是走一下代理,但是Clash开启之后,我们可以在网页端正常访问github,但是push还是不行。问题的根源是:普通的代理模式,流量都是走一个特定的端口,与服务器通信,但是git的流量不会走。所以我们需要手动绑定一下代理。
方法非常简单,这里以Clash为例,其他软件的配置也大差不差。
打开Clash,马上就可以看到它使用的代理端口,这里为7890
接下来,给git设置代理,方法如下:
方法一 直接使用命令直接在Bash里输入命令设置全局http/https代理
123git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy https://127.0.0 ...
第一次组装自己的电脑的经历
开头搬到新校区,宿舍终于不断电了,考虑了很久的台式机计划终于可以搞了,加上第三个项目预支了4000的项目款,终于可以组一台自己的电脑了
配置声明:我没有仔细挑过。而且这方面可以说是一窍不通,看了一周视频速成了一下。
主板: 华硕 TUF B550M-PLUS WIFI Ⅱ
显卡:5700G的核显
CPU:锐龙7 5700G 盒装(带风扇)
内存:科赋雷霆马甲条3600MHz 16G ×2
电源:艾湃电竞金牌全模组650W
硬盘:三星980 1TB版
机箱:长城 阿基米德9PRO
散热:原装
因为买的时候打算当传家宝来用了,所以有些配置是冗余的,价格偏贵。至于总共价格,留到后面再说。
组装组装电脑的过程还是挺有趣的,虽然遇到了不少问题。机箱是最先到的,结果拿到手后才发现机箱有点大过头了,毕竟可以兼容E-ATX主板。
首先先是主板,装主板可以说是最复杂的了。不仅有许多排线,还有很多螺丝需要拧。
第一步,先装CPU,拆开CPU的时候,没想到CPU竟然这么重,沉甸甸的,感觉发热会不小。
小心翼翼地打开主板的卡扣,然后小心翼翼地取出CPU,看着密密麻麻的针脚,真想给他全部薅弯。装的时候 ...
HackGame2022部分题解(签到——微积分小练习)
总所周知,中科大每年都会举办一个HackGame,今年也不例外。
今年的比赛从2022 年 10 月 22 日 中午 12:00开始,到 10 月 29 日 中午 12:00(共七天)。在这7天里,我们可以不吃不喝来夺旗(bushi)。题目有难有易,而且对新手还挺友好,像我这样毛都没学过的都可以浅浅拿个1900。遂写篇博客浅浅记录一下这个比赛经历。
先贴一下结果。我好菜呜呜,主要记录一下一些我觉得有意思的题目和解题方法。为了记录一下,我怕我以后都忘记我还会写这个。
签到题目
在规定时间内写下2022来签到。
题解其实只要手速超过光速,可以直接签下四个大字即可(bushi)。要是你没有这么快的手速,还是老老实实找一下方法把,可以看到,他是本地识别,然后再将识别结果用GET请求传给后端。
所以只要直接修改GET请求,修改为2022即可。
猫咪问答喵题目
题解猫咪问答可以说是Hackgame的经典题目了,是一道有关中科大的信息收集题。如果你有中科大同学你可以直接去问问他们(bushi)
先讲一下前三题,
第一题直接在浏览器搜索中国科学技术大学 NEBULA 战队,第一篇里面就有。
...
斐讯K2P路由器+Openwrt固件实现校园网多播
前言书接上回。自从买了路由器之后,一周都在不停的刷固件来玩,至今也刷了十几个了。其实当初买k2p的主要目的还是想多拨。因为我们学校校园网一台设备只有40Mbps的上下行带宽。在2022年,家里WiFi都已经是几百兆的时代,40兆的校园网真的太拉了。而且一个账号只能连三台设备,我一个人都有6台需要联网的设备(3台手机+1台ipad+1台电脑+1个小爱同学)。所以整了个二手k2p。但是感觉翻车了,现在只能凑合用了。
刷入Openwrt固件k2p有很多很好用的固件,像老毛子,潘朵拉,高恪,op等等。这里我选op。是因为op支持我校园网的多拨。虽然高恪也支持多拨,但是只支持传统的PPOE拨号,不支持DHCP认证。
要是已经刷入op系统可以跳过哦
废话不多说,首先呢我们先要去网上找k2p的op固件,可以自己编译也可以用别人编译好的。找固件可以上恩山无线论坛 (right.com.cn)的斐讯专区里的k2p专区,这里有很多,随便找一个。
需要注意的是,你的k2p的芯片的型号是什么,这个可以在路由器底部的铭牌上找到
使用Windows(OpenSSH)实现私钥免密码连接Linux(DropbearSSH)服务器
前言今天晚上又折腾了一个晚上的路由器,终于搞定了局域网的端口转发到校园网。以后可以在学校的任何一个角落都连接到我的电脑了,乐。详细的操作之后有时间再记录吧,今天先来写一个简单的经验分享。因为路由器需要多拨,我自己设置的自动拨号频率是十分钟一次,但是有时候很容易掉一两个号,这时候就需要我手动拨号乐。以前每次拨号都需要远程连接一下路由器命令行来执行脚本,实在是太麻烦了。所以我就想,能不能直接在电脑上发送一条指令让路由器自动拨号,然后我就找到了ssh客户端的私钥验证方法,但是路由器装的是DropbearSSH,所以和网上的大多数教程不太一样,遂自己参考大神的方法自己写了一个
关于DropbearSSH和openSSH一般我们的windows电脑上都会自带一个SSH客户端,就是这个openSSH,这是一个功能齐全的SSH客户端,在诸多平台上都有存在。
一般的Linux发行版都安装有OpenSSH,但是在路由器上,由于空间不足,很多固件会选择使用DropbearSSH。
关于DropbearSSH:
dropbear作为一款基于ssh协议的轻量级sshd服务器,相比OpenSSH,其更简洁 ...
安卓Termux安装ubuntu+alist实现文件中继服务
1.前言上几周刚搬校区,来到了一个鸟不生蛋的好地方,三面都是荒地,一面是大海,海的对面是南朝鲜。除了宿舍稍微好点,其他地方都输麻乐。不过,新宿舍有了明显的网线口,这就能让我完成上个学期一直没完成的计划乐——拿我的二手小米5搭个alist服务,这样我就可以,同时管理多个网盘乐。
之前因为校园网账号不够,所以这台小米5就没有拿来用,装了k2p路由器后,再也不缺网乐,所以便有了今天的计划。
2.安装TermuxTermux到处都能找得到,葫芦侠,酷安等等。当然也可以看看官网:Termux | The main termux site and help pages.然后打开首页
有了linux系统,咱一般做的第一步就是——换源。不然默认源的下载速度太慢了,Termux换源方法网上很多,这里推荐一个简单的:
1sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/ap ...
Django 报错 'WSGIRequest' object has no attribute 'data' 的一个解决方法
报错截图
报错描述
之前写Django后台的时候没遇到过这个bug,是今天写项目才遇到的bug
报错分析
看报错,是出在一个自定义的权限认证函数中,在仔细看看报错,发现是后台登录使用了自定义的权限认证类
在Pycharm中用 Ctrl + shift + N 输入文件地址,找到这个文件__init__.py的77行对应的函数调用,
再 Ctrl + 鼠标左键 点击查看 这个backend从哪里来的
现在可以看到,这个_get_backends函数很可疑,我们再跳转看一下
到这里真相水落石出了,
get_backends函数从settings的AUTHENTICATION_BACKENDS里面寻找权限认证类,然而我忘了添加自带的权限认证类,只有我自定义的权限认证类,所以这个函数就使用了自定义的权限认证类。
解决方案
添加 django.contrib.auth.backends.ModelBackend 即可解决问题
一丢丢心得
暑假写的项目,可以说通过这个项目,对Django有了更深入的了解,也学会了往底层找问题,重写某些类的方法,之后浅浅分享一下Pycharm写Djang ...
算法笔记①——快速排序and归并排序and二分查找
浅浅记录一下,学的快排与归并与二分。视频地址:第一章 基础算法(一) - AcWing
快速排序听名字就知道是很快的算法,听了y总深入浅出的解释,我对于快速排序的理解进一步加深了。在大一上的计导课里,有一个实验就是让我们用人体计算机的方式实现快排。当时,不记得是王老师还是助教说只能使用单指针的快排,然后我琢磨乐好久也没搞明白该怎么排,后面半推半就做完了那个实验。之后,快排就忘得一干二净了哈哈哈哈。现在听了y总的课,我总结出了以下几个要点,记住这几个要点,可以更容易背住模板。
当递归到最底层,只有一个元素的时候,是不用排序的,所以此时直接return即可,这也是递归的出口,判断条件就是左边界是否大于右边界。
选取一个分界的数,可以选数组里任何一个数,第一,最后,中间都可以,看情况
选取左右指针时,要选在两个指针的外边;左指针就在左边界减一处;右指针在有边界加一处。
对于一次快排,原理就是使所有比 X(选定的数)小的数在X左边;所有比X大的数在X的右边,所以套一层while循环,判断条件是两指针是否相遇。
然后两个指针开始移动,左指针往右移动,遇到第一个比X大的数停下;右指针同理。
两 ...