修改 Uptime-Kuma主题样式

虽然Uptime-Kuma有自定义css代码的地方,但是作为一个不会前端的全栈工程师,想要修改下样式感觉亚历山大。极其不友好啊,于是就想着看有没有现成的代码可以抄一下,搜索了一下找到了这个网站:https://docs.theme-park.dev/themes/uptime-kuma/

Continue Reading

Nginx日志分析工具goaccess

时不时地会出现服务器cpu占用率100%的情况,基本到这时候php基本就全挂了,而出问题的也是php-fpm这个进程。说实话对于这个破进程真是没什么好的想法,进程数量怎么设置都不对,反正就是只要开机就各种卡。其实也考虑过是不是被攻击了,但是就这么个破网站,个人感觉攻击也没什么意思啊。图什么呢~~

通过top命令以及trace命令,没有找到什么有用的线索。不过通过查看访问日志可以看到每秒都有数条请求,这尼玛就很神奇啊,每天的访问量不过1k多点,怎么可能会每一秒都那么多请求呢。通过tail命令查看访问日志太蛋疼了,于是就想着找个更加可视化的工具,于是找到了goaccess:

GoAccess是一款开源的且具有交互视图界面的实时Web 日志分析工具,通过你的Web 浏览器或者 *nix 系统下的终端程序(terminal)即可访问。 能为系统管理员提供快速且有价值的 HTTP 统计,并以在线可视化视图。

Continue Reading

nginx 代理google搜索

为了能够正常访问google进行搜索,之前一直用的ssh转socks代理。后来觉得如果s2主机只用来做代理,有点浪费了。于是就想了干脆反向代理一个google搜索。网上相关的文章比较多,随便搜索一下就可以找到相关的代码。基于nginx的主要配置代码如下:

proxy_cache_path /tmp/accounts levels=1:2 keys_zone=cache:10m max_size=10g inactive=60m use_temp_path=off;
server {
        server_name h4ck.ws;
        location / {
      proxy_redirect off;
      proxy_cache cache;
      proxy_cache_valid   200 304 12h;
      proxy_cache_valid   any 10m;
      proxy_cookie_domain google.com h4ck.ws;
      proxy_pass https://www.google.com;
      proxy_connect_timeout 20s;
      proxy_read_timeout 600s;
      proxy_send_timeout 600s;

      proxy_set_header Host "www.google.com";
      proxy_set_header User-Agent $http_user_agent;
      proxy_set_header Referer https://www.google.com;
      proxy_set_header Accept-Encoding "";
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto https;
      proxy_set_header Accept-Language "zh-CN";
#     proxy_set_header Cookie "PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw"; #这行代码可能会导致google监测到流量异常
      sub_filter https://www.google.com https://h4ck.ws;
      sub_filter https://www.google.co.jp https://h4ck.ws;
      sub_filter_once off;
      addition_types *;
  }
}
Continue Reading

html 播放rtsp 流rtsp2rtmp

RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。HTTP与RTSP相比,HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。而前面提到的允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议(Video Conference)。因为与HTTP1.1的运作方式相似,所以代理服务器〈Proxy〉的快取功能〈Cache〉也同样适用于RTSP,并因RTSP具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。

在旧版的chrome上可以通过vlc插件来播放rtsp视频,但是更新到新版的chrome之后要想播放这个rtsp的视频就变得比较麻烦。如果google一下就会发现有各种解决方案,但是这些方案基本都是收费的。另外一个做法就是通过ffmpeg或者vlc播放器进行协议转换,如果是单个视频流可以通过vlc进行转换,转成http协议,直接通过video标签进行播放即可。但是如果要处理的视频流比较多,那就比较麻烦了。可以通过nginx+ffmpeg进行转换。

illuspas封装了一个支持rtmp协议的nginx,https://github.com/illuspas/nginx-rtmp-win32,下载之后直接运行nginx即可启动服务。

Continue Reading

ngix+uwsgi+django 以及阿里云rds数据库数据导入

网上关于如果通过nginx来运行django的文章还是蛮多的,但是有的地方写的可能不够细致,于是在实际操作的时候可能会出现一些问题,具体可以参考这个链接:https://www.cnblogs.com/frchen/p/5709533.html。但是实际在不熟的时候却发现uwsgi的配置文件貌似不怎么好用,于是去官网看了一下,近习惯了修改:

[uwsgi]
socket = 127.0.0.1:8001
chdir = /var/www/html/
wsgi-file = Project/wsgi.py
processes = 4
threads = 2
stats = 127.0.0.1:9191

#stats=%(chdir)/uwsgi/uwsgi.status

pidfile=uwsgi.pid

buffer-size = 65536

需要注意的一点是,这个chdir 是项目的根目录,也是工程文件的父目录,后面的wsgi-file则是工程目录和wsgi文件的结合路径,如果这个搞错了,后面的就直接跑不起来了。此时就可以通过uwsgi uwsgi.ini来启动服务了,但是如果此时通过浏览器直接去访问http://192.168.1.100:8001这个地址很有可能是失败的。要配置好nginx的代理之后通过nginx进行访问,nginx配置文件如下:

Continue Reading