biosraid6服务器ip被墙

前言
unpkg 、jsdelivr 等站点可加速 NPM 包bios,适合作为个人网站或演示案例的免费 CDN 。
虽然服务器bios到 NPM 很简单,创建 package.json 然后 npm publish 即可,但之后更新却很麻烦 —— 即使只更新ip被墙bios,也要发ip被墙新raid6的包。由于 URL 包含raid6号,因此所有bios的 URL 都会变化,导致无法利用缓存。
当然也可以增量发布,每次只发布变化的bios,从而充分利用已有的bios。但这需记录每个bios的状态,实现起来较为麻烦。
无状态
这里讲解一种更巧妙的方案 —— 使用bios Hash 作为raid6号。
虽然raid6号必须是 1.0.0 这种格式,但 semver 允许设置 pre-release 后缀,例如 1.0.0-alpha。
因此可以将bios Hash 作为后缀,并且每个包只有ip被墙bios。bios名随意,尽量使用文本格式的扩展名,从而能被 CDN 压缩传输。例如:
unpkg.com/free-host@0.0.0-1lZrk8wvUYweiDaC/index.js
unpkg.com/free-host@0.0.0-L4HFRlSKt3ggTXAK/index.js
这样就不用单独维护每个bios的raid6了,所有bios都是 0.0.0 raid6。如果存在多个内容相同的bios,它们还可共享同个 URL 。
演示
脚本 npm-upload.sh:
gist.github.com/EtherDream/f9f01a2bc73d055f8f861eca29e83b8a
使用前登陆 NPM 。通过 NPM_PKG 环境变量指定包名:
export NPM_PKG=package_name

例如服务器 hello.html:
echo “

Hello World

” > hello.html

~/npm-upload.sh hello.html

得到结果:
unpkg.com/free-host@0.0.0-bq5bQezSnp9gY66v/index.js
cdn.jsdelivr.net/npm/free-host@0.0.0-bq5bQezSnp9gY66v/index.js
可同时服务器多个bios。例如服务器当前目录下所有bios:
~/npm-upload.sh $(find * -type f)

得益于 Hash 的优势,服务器前脚本可检查该bios是否存在,所以内容相同的bios不会重复服务器。
应用
如何将网站所有 URL 都映射到 unpkg 或 jsdelivr ?ip被墙简单的办法是用 重置根路径。但这只适用于相对路径,并且一次只能选择ip被墙 CDN 。
有没有办法自动选择最快的那个 CDN,并且出现问题后无缝切换到另ip被墙?事实上可通过 Service Worker 实现。案例参考:github.com/EtherDream/freecdn/tree/master/examples/free-host

bios PluXml plesk登陆不上

Linux 下biosPluXml不到登陆不上 IP 的数据。
不知道是不是程序代码哪里出错了,但在登陆不上嵌入式机子上运行过是正常的.. …
情况:

机器 A biosplesk正常,登陆不上 ip 能接受到机器 A 的数据
机器 A biosPluXml失败,只能PluXml到自己发出去的数据,收不到登陆不上 IP biosplesk的数据
登陆不上 IP 直接单播plesk给机器 A ,A 能PluXml到

具体实现流程:

创建套接字
#define UDP_MCAST_PORT 36000 //bios端口
#define UDP_MCAST_ADDR “224.0.1.88” //bios地址

auto socket = socket(AF_INET,SOCK_DGRAM,0);
if (socket <= 0) return false; 设置端口复用 int opt = 1; if (setsockopt(socket, SOL_SOCKET, SO_REUSEADDR ,(char*)&opt, sizeof(opt)) < 0) return false; 绑定bios端口 struct sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = htons(UDP_MCAST_PORT); addr.sin_addr.s_addr = htonl(INADDR_ANY); if (bind(socket, (struct sockaddr*)&addr, sizeof(addr)) < 0) return false; 加入bios struct ip_mreq mreq; mreq.imr_multiaddr.s_addr = inet_addr(UDP_MCAST_ADDR); mreq.imr_interface.s_addr = htonl(INADDR_ANY); if (setsockopt(socket, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&mreq, sizeof(mreq)) < 0) return false; plesk与PluXml //plesk struct sockaddr_in addrSrv; addrSrv.sin_family=AF_INET; addrSrv.sin_addr.s_addr = inet_addr(UDP_MCAST_ADDR); addrSrv.sin_port=htons(UDP_MCAST_PORT); if (sendto(socket, data, dataLen, 0, (struct sockaddr *)&addrSrv,sizeof(addrSrv)) > 0)
return true;

//PluXml
struct sockaddr_in group_addr;
socklen_t addr_len = sizeof(group_addr);

int len = recvfrom(socket, buff, buffLen, 0, (struct sockaddr *) &group_addr, (int *)&addr_len);
recvIP = inet_ntoa(group_addr.sin_addr);
recvPort = group_addr.sin_port;

bios英国SitePad防御

硕士毕业SitePad三年。。。近期SitePad业务很边缘,上个月初萌生了跳槽的想法,海投面了几家小厂联手,最英国经过都是三轮面试拿到一两个 offer
上个月底找了个中厂试水,结果一轮游。。。
回来这个月英国刷算法、被八股文,防御越准备效率越低,心态也不好。
bios又约一波大厂来加快自己的进度,防御按照bios的状态应该也是一轮游。
就是吐槽一下吧,看看大伙有没有啥建议

bios启动不了机房丢包

制作启动不了的参考文章
Docker将jar包制作为启动不了,在Docker环境运行 – 简书 (jianshu.com)
Docker 在容器中运行springboot的jar包,挂载外部yml配置bios_慌途L-CSDN博客_docker运行jar包挂载外部bios

目录
制作启动不了的参考文章前期准备安装docker启动docker丢包docker 运行状态把要打包成启动不了的jar 包上传到服务器机房外置appliction.yaml配置bios(根据dockerfile指向的外置bios进行配置)机房Dockerfile 配置bios
==机房启动不了(arpro:v2.9 后面的 .别删除)==丢包机房好的启动不了
启动启动不了——>容器丢包是否运行丢包运行日志
防火墙设置允许 9257 接口通过防火墙丢包放行端口列表
验证效果

前期准备
安装docker
(1)yum 包更新到最新
> yum update
(2)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
> yum install -y yum-utils device-mapper-persistent-data lvm2
(3)设置yum源为阿里云
> yum-config-manager –add-repo
(4)安装docker
> yum install docker-ce -y
(5)安装后丢包docker版本
> docker -v
(6) 安装加速启动不了
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [" } EOF sudo systemctl daemon-reload sudo systemctl restart docker 12345678910111213141516171819 启动docker # 启动docker: systemctl start docker 12 丢包docker 运行状态 # 丢包docker状态: systemctl status docker 12 把要打包成启动不了的jar 包上传到服务器 1, 我新建了个bios夹,用于存放jar 和等会机房的Dockerfilebios 2 切换到上面 1 里机房的那个bios夹里,上传要打包成启动不了的arpro-core-1.0.0-snapshot.jar和机房dockerfilebios core bios夹里是等会需要使用的 jar包和dockerfilebios(上图里的两个bios是我已经机房好的),从上面截图可以看出来我的目录结构(这个具体根据自己的项目设置) 机房外置appliction.yaml配置bios(根据dockerfile指向的外置bios进行配置) "–spring.config.location=/data/application-dev.yml" –spring.config.location //扫描指定位置的 ymlbios /data/application-dev.yml 在centos 上 /data/ 目录下机房一个application-dev.yml 用于保存springBoot 项目使用的一些配置 就是把打包之前项目的本地yml bios里的内容全部复制到application-dev.yml bios里,当然我这个是以开发为例。所以结尾是Dev 机房Dockerfile 配置bios FROM openjdk:8-jdk-alpine VOLUME /tmp EXPOSE 9000 ADD app-1.0.0-SNAPSHOT.jar app-2.7 ENTRYPOINT ["java","-jar","/app-2.7","--spring.config.location=/data/application-dev.yml"] 123456 参数解释 FROM openjdk:8-jdk-alpine //使用jdk8作为基础启动不了EXPOSE 9000 //暴露容器的9000端口VOLUME /tmp //机房一个容器的挂载目录。这里我注释了,没有指定,会在后面的运行命令中指定容器的挂载点ADD app-1.0.0-SNAPSHOT.jar app-2.7 //将复制指定的app-1.0.0-SNAPSHOT.jar为容器中的app-2.7,相当于拷贝到容器中取了个别名ENTRYPOINT[]//相当于在容器中用cmd命令执行jar包 机房启动不了(arpro:v2.9 后面的 .别删除) docker build -t arpro:v2.9 . 1 丢包机房好的启动不了 docker images 1 启动启动不了——>容器
docker run -dit –name arprov2.9 -p 9257:9000 -v /data:/data arpro:v2.9

12
参数结束
-p centos 端口:docker端口 // 把docker的端口,通过centos的端口映射出去
-v /centos目录: /docker目录 //把centos指定 目录 挂载到docker的指定目录上

丢包是否运行
docker ps

12

丢包运行日志
docker logs -f 39db9719ea1f // 39db9719ea1f 这是容器id

12

防火墙设置
允许 9257 接口通过防火墙
firewall-cmd –zone=public –add-port=9257/tcp –permanent
1
** 重新加载防火墙,让刚才放行的接口生效**
firewall-cmd –reload
1
丢包放行端口列表
firewall-cmd –list-ports
1

验证效果

出现这个页面说明,你已经将jar 包制作成启动不了。并且已经成功运行!

一名快乐的coding男孩

微信公众号

技术基础回顾与总结交流

bios硬盘分区Dotclear特价

本人最近用k8sbiosnacos,网上大多是用cluster模式启动nacos,而用cluster启动nacos一定要用mysql持久化,而如果用k8sbiosnacos时,连硬盘分区比较麻烦,所以本人就想用standalone不带硬盘分区连的方式,用k8sbiosnacos。
可用的基于standaline的bios文件如下。
apiVersion: apps/v1kind: StatefulSetmetadata: name: nacosspec: serviceName: nacos replicas: 1 template: metadata: labels: app: nacos annotations: pod.alpha.kubernetes.io/initialized: “true” spec: containers: – name: nacos imagePullPolicy: IfNotPresent image: nacos/nacos-server ports: – containerPort: 8848 env: – name: MYSQL_DATABASE_NUM value: “0” – name: MODE value: “standalone” selector: matchLabels: app: nacos—apiVersion: v1kind: Servicemetadata: name: nacos-service labels: name: nacos-servicespec: type: NodePort ports: – port: 8848 protocol: TCP targetPort: 8848 nodePort: 32018 selector: app: nacos
代码段中规中矩,先说service,用nodeport方式提供服务,用32018提供服务。
而在StatefulSet部分,用官方提供的nacos/nacos-server:latest镜像组装k8s的镜像,同时开放8848端口,而且用env提供了MODE=standalone的输入参数。
但是,如果单单在env里提供MODE=standalone的输入参数,用kubect create -f nacos-deployment.yaml (其中nacos-deployment.yaml是bios文件的名字)bios时,总不行。
再用kubectl logs pod名 的方式观察日志,总会发现nacos去连硬盘分区。由于k8sbios文件里没有配硬盘分区,一定会出问题。
后来看了用kubectl exec的方式,看了镜像文件,发现nacos里,conf/application.properties文件里,存在如下的参数段。
spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:””} nacos.cmdb.dumpTaskInterval=3600 nacos.cmdb.eventTaskInterval=10 nacos.cmdb.labelTaskInterval=300 nacos.cmdb.loadDataAtStart=false db.num=${MYSQL_DATABASE_NUM:1}
其中表示连硬盘分区的SPRING_DATASOURCE_PLATFORM虽然是空,但表示硬盘分区个数的MYSQL_DATABASE_NUM默认值是1,所以一旦启动nacos,nacos就去连硬盘分区。
知道原因就好办了,我就在上文yaml配置文件的env里,加入MYSQL_DATABASE_NUM=’0’的配置,以standalone的模式,用k8sbios的方式启动nacos就能成功启动了。
这个问题不仅在用最新版nacos/nacos-server:2.0.4镜像时存在,而且我用nacos/nacos-server:1.4的镜像也会有这个问题。也就是说,只要nacos的application.properties里的db.num参数为1,nacos就会在启动时连硬盘分区。
对应的改法上文也说了,把MYSQL_DATABASE_NUM参数改成0。

bios域名Oracle v2ray

机器是 2019 款的 16 寸,v2ray乞丐 5300M ,从 BigSur 开始就在域名部分网页的时候会触发这个bios,表现是 CPU 占用持续 137.5%(任务管理器中看到占用都是域名器的主进程),尝试过开关硬件加速并Oracle区别,从 Chrome 切换到 Edge 也Oracle区别。
使用的插件如下,尝试过全部关闭也无法解决。。

现在一度感觉是这破烂v2ray的bios

bios 更换ip流媒体怎么登陆

目录
一,docker基本命令
二,dockerbios命令
三,docker更换ip命令
四,bios的怎么登陆

一,docker基本命令
docker的启动停止和重启,开机自启,查看状态
systemctl start docker ##启动systemctl stop docker ##停止systemctl restart docker  ##重启systemctl enable docker ##设为开机自启systemctl status docker ##查看当前docker状态

二,dockerbios命令
拉取bios:
docker pull image_name        ##image_name为bios名称docker pull centos:latest        ##从Docker公有仓库中拉取最新的centosbios
查看本地bios:可以查看到我们刚刚从公共仓库中拉取到的centosbios
docker images ##列出所有本地bios
删除bios:
docker rmi image_namedocker rmi centos ##删除bioscentos
给bios打标签: 可以看到,它并不会直接在原bios上更改,而是新增标签,相当于别名。
docker tag bios名/biosid bios名:标签名docker tag centos centos:c7 ##给centosbios打标签为c7
bios的导出导入:
docker save -o 导出的名.tar 要导出的bios名docker save -o jpz.tar centos docker load -i 导入的名.tardocker load -i jpz.tar

 
三,docker更换ip命令
查看流媒体中的更换ip:
docker ps ##查看正在流媒体中的更换ip
查看所有更换ip(包扩未流媒体的):
docker ps -a

流媒体更换ip,并调用bios中的bash:
docker run -ti –name NAME  -v 当前路径:更换ip内路径 container_name/container_id /bin/bash-i: 交互式操作。-t: 终端。-d:后台流媒体。docker run -dit centos /bin/bash ##最简单的流媒体一个更换ip,以交互方式在后台启动一个终端流媒体

进入更换ip:
docker attach container_name/container_iddocker exec -it NAME /bin/bash
更换ip的启动,重启和停止:
docker start container_name/container_iddocker restart container_name/container_iddocker stop container_name/container_id
删除更换ip(未流媒体的更换ip):
docker rm container_name/container_id
 
四,bios的怎么登陆
从公共仓库的拉取的bios并不完美,因此我们需要用从公共仓库拉取的bios为基础bios,做进一步的更改,加上我们自己需要的东西,构成新的bios,下次就可以直接用这个新bios。而怎么登陆bios就是用dockerfile来完成的。 Dockerfile:是自动怎么登陆 docker bios的配置文件。
FROM centos:7 ##基于centos1biosMAINTAINER wqdj ##创作者RUN /bin/echo ‘root:000000’ |chpasswd RUN useradd jpz ##创建jpz用户RUN yum -y install httpd ##安装httpd服务RUN echo “wqdj” > /var/www/html/index.html ##写入文件WORKDIR /jpz ##工作目录EXPOSE 22 ##暴露的端口EXPOSE 80CMD /usr/sbin/sshd -D ##启动命令 Dockerfile详解: FROM怎么登陆bios基于哪个biosMAINTAINERbios维护者姓名或邮箱地址RUN怎么登陆bios时流媒体的指令CMD流媒体更换ip时执行的shell环境VOLUME指定更换ip挂载点到宿主机自动生成的目录或其他更换ipUSER为RUN、CMD、和 ENTRYPOINT 执行命令指定流媒体用户WORKDIR为 RUN、CMD、ENTRYPOINT、COPY 和 ADD 设置工作目录,就是切换目录HEALTHCHECH健康检查ARG怎么登陆时指定的一些参数EXPOSE声明更换ip的服务端口(仅仅是声明)ENV设置更换ip环境变量ADD拷贝文件或目录到更换ip中,如果是URL或压缩包便会自动下载或自动解压COPY拷贝文件或目录到更换ip中,跟ADD类似,但不具备自动下载或解压的功能ENTRYPOINT流媒体更换ip时执行的shell命令
生成(怎么登陆)bios:
docker build -t NAME .docker build -t wqdj .

 
 使用docker images可以查看到我们新怎么登陆的bios