首页
wjlink
投稿
视频
直播
壁纸
更多
留言
统计
LINK
Search
1
为你的 WordPress 站点配置 Telegram Instant View
53 阅读
2
重点提示:邮箱购买和调查帐号注册要求
46 阅读
3
Paypal外区账户/国际版绑大陆手机号注册教程
36 阅读
4
宝塔面板绑定域名套上cloudflare – 实现cdn访问拯救你的IP
35 阅读
5
Python 爬取YouTube某个频道下的所有视频信息
30 阅读
技術類
自媒体
調查
问卷调查
美國站
英國站
注册丨登录
Search
标签搜索
wordpress
V2Ray
vps
苹果cms
面板
php
宝塔
ipfs
DD
脚本
语言
上传
判断
Youtube
ip
AI
1
2
3
救砖
Gengre
累计撰写
65
篇文章
累计收到
0
条评论
今日撰写
0
篇文章
️
首页
分类
技術類
自媒体
調查
问卷调查
美國站
英國站
页面
wjlink
投稿
视频
直播
壁纸
留言
统计
LINK
登录丨注册
搜索到
51
篇与
的结果
2023-10-21
KeyHelp vps可视化管理面板
KeyHelp vps可视化管理面板请注意以下安装要求: 操作系统:Ubuntu LTS 或 Debian 内存:至少 1 GB 内存 体系结构:64位操作系统 安装必须在干净的系统(最小映像)上执行,没有已安装/配置的软件。所有必需的服务都由 KeyHelp 安装和配置。 安装必须以 root 用户身份完成。 wget https://install.keyhelp.de/get_keyhelp.php -O install_keyhelp.sh ; bash install_keyhelp.sh ; KeyHelp® – 免费的服务器控制面板
2023年10月21日
1 阅读
0 评论
0 点赞
面板
/
vps
2023-10-21
Oracle Cloud更换IP以及生成/重置SSH密钥(亲测可行)
查看更多关于Oracle Cloud的介绍!2019年10月12日16:21:43 新增2种重置密钥的方法!由于博主开通的第一台Oracle Cloud服务器SSH密钥设置有问题,一直登录不上去!一直在琢磨怎么重置SSH密钥!有大佬更新过几篇文章,但是博主亲测均失败了。然后琢磨出的其他方法。本文更换密钥部分内容非常详细,对于大佬可以直接看【最后说明】里面介绍了思路。解释说明SSH密钥登录:更安全的登录方式。主要包含2部分,密钥(用户密钥) / 公钥。假如:张三想用 PC1电脑上 登录 SERVER1服务器。那么公钥需要放到SERVER1上,PC1电脑需要密钥完成验证才可以登录!密钥:放到你的电脑上!公钥:放到服务器上!上面的解释应该算比较容易理解了!生成SSH密钥Oracle Cloud开通服务器,这个SSH 密钥很关机!这里推荐大家使用Xshell生成!这里详细说明以下生成步骤!1)Xshell软件:菜单 – 工具 – 用户密钥管理者(按alt键可见菜单栏)密钥类型:RSA密钥长度:20482)点击下一步后,回自动生成公钥对!3)设置密钥名称以及用户密钥密码。【用户密钥】密码可以为空!4)点击完成后,可见我们新建的用户密钥。选择密钥点击属性。5)可见【公钥】的选项卡,点击可见该密钥的公钥!服务器上需要添加的公钥就是文本框内的一堆儿~6)Xshell连服务器的时候,需要在【用户身份验证】方法:Public Key用户名:服务器上的可登录的用户名用户密钥:选择上面我们新建的密钥密码:如果你设置为空,那就空的。上面我们设置的是 123更换IP地址开通的云服务器,有时候IP已经被Q,无法访问了!怎么办呢?点击实例详情 – 【附加的 VNIC】- 点击VNIC详情 – 【IP地址】 – 【…】- 点击编辑我们选择没有公共IP,点击更新!然后再次点击编辑,选择临时公共IP 或者 预留公共IP 点击更新即可!预留IP怎么选?点击菜单如下图!直接进去申请IP即可!更换密钥方法1这个方法不用不需要创建定制映像! 这里的步骤比较简要。部分内容一带而过,具体可看方法2中的步骤!A服务器是无法登陆的服务器,需要换密钥。B服务器是可以登陆的服务器。1)A服务器 – 停止 – 分离引导盘。2)B服务器 – 附加存储卷 。3)登陆B服务器,执行挂载命令iSCSI命令。4)查看磁盘挂载情况。fdisk -l4)挂载sdb3 到 /mntmount /dev/sdb3 /mnt提示:如果查看磁盘非sdb3,或者挂载出现错误(wrong fs type)。请参考更换密钥方法2内容!5)修改密钥,这里不再重述。6)卸载磁盘。umount /mnt7)执行分离命令iSCSI命令。8)B服务器分离附加卷。9)A服务器附加引导卷。更换密钥方法2这里是本文的重点!可能你在开通Oracle Cloud机器的时候,忘记填写SSH用户密钥?或者其他原因导致开通机器后无法登录?现在日本 和 韩国区域又不敢终止机器。怎么办?提醒一下:这部分内容持续写了几天,经过多次尝试终于可以了!部分截图可能是老的!准备工作1)Oracle Cloud账号上还有试用金额(或者能创建免费服务器)!2)按照上面的方法生成一个正确可用的密钥和公钥!创建定制映像1)点开实例详情,操作 – 创建定制映像2)名称随便命名一下即可!创建映像可能需要几分钟!3)创建完成后,可以在 计算- 定制映像 中看到!创建新实例1)在新创建的映像点击【…】 – 【创建实例】(也可以直接在面板首页创建实例,映像要选自定义映像)2)映像源一定要是刚才新自定义的!!实例配置,选择一个最低配就行!如果你还有免费的实例,可选免费的!3)非常关键!一定要将SSH密钥复制进去!也就是上面提到的SSH 公钥!然后就创建即可!4)关于Cloud-Init脚本,博主测试添加脚本后,并没有生效。当然你也可以将脚本和SSH密钥一块加上!这里不说明了,请参考历史文章有介绍这部分内容:申请Oracle Cloud永久免费服务+300美元试用额度5)1分钟左右实例创建成功!如果由于各种原因IP无法访问,参考上面的【更换IP】内容。6)然后使用Xshell工具登录一下。能登录那就OK,可以继续!分离引导卷1)查看要重置SSH密钥的实例详情,点击【停止】,切记不是终止!!!2)点击【引导卷】- 【…】- 点击【分离】3)待引导卷变成已分离!附加存储块1)查看新实例详情 – 【附加的块存储卷】 – 点击【附加块存储卷】块存储卷,选择刚才分离的那个即可!点击【附加】!2)状态变成已附加。点击【…】 – 【iSCSI 命令和信息】查看命令!3)命令主要使用:附加命令 和 分离命令!磁盘挂载这部分内容需要在Xshell中操作!1)切换用户到root下,方便我们操作sudo -i2)查看当前磁盘情况fdisk -l目前我们只有1块磁盘 /dev/sda 46.6G容量!3)附加引导卷。复制附加命令到 Xshell执行!妥妥的成功没问题!4)再次查看当前磁盘情况!fdisk -l明显看到多了一块磁盘 /dev/sdb 其中 Linux System内容 在 /dev/sdb15)执行以下挂载磁盘到 /mnt 目录下。mount /dev/sdb1 /mnt看下 /mnt 目录下确实有内容了!6)修改SSH密钥!如果你安装的是精简版的系统可能需要安装以下vim编辑器!apt-get install vim修改SHH密钥文件(这里涉及到一些vim的操作,大家自己百度)vim /mnt/home/ubuntu/.ssh/authorized_keys #按2次d 删除第一行数据 #复制XShell生成的正确公钥,按Shift + Insert 粘贴进去 #再按:wq 保存退出如果你是CentOS系统SSH密钥位置有点不一样!vim /mnt/home/opc/.ssh/authorized_keys7)修改成功后,取消磁盘挂载!cd / umount /mnt然后复制分离命令,执行一下即可!分离存储卷1)查看新实例详情 – 【附加的块存储卷】 – 【…】 – 点击【分离】2)存储卷不见后,这个新建的实例也可以终止掉了!附加引导卷1)查看要重置SSH密钥的实例详情 点击【引导卷】- 【…】- 点击【附加】2)状态变成已付加后,就可以启动实例了!3)最后去把自定义映像删除!更换密钥方法3利用DD命令来复制安装一个系统!分离A服务器引导盘,然后挂载到B服务器上(具体操作看上面)挂载成功后,直接使用下面命令,将B服务器的系统直接DD到A服务器的引导卷中(包括登陆密钥)。PS:这个执行的命令比较久,我试过一次需要2小时。dd if=/dev/sda of=/dev/sdb完成后再挂载到A服务器上登陆即可!最后说明操作过程不算复杂!一些Linux下的操作需要一点点基础!由于这篇文章修修改改陆续写了3天,可能部分截图有问题。这篇文章差点流产,因为19号有网友在文章中留言说有人写了重置SSH密钥的方法,博主去亲测了一下,发现会提示错误无法附加!今天(21号)看见Qi大佬更新了一篇文章(参考文献)。博主又测试了一次还是同样的错误。mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.然后我又去查阅了2篇博文内容参考了老外的一篇文章(参考文献)。发现老外的文章是针对 Oracle Linux 7 系统的SSH密钥重置。如果你使用的这个系统应该是可以的没问题!但是大部分人都是使用的Ubuntu 和 CentOS,老外的文章内容并不适用。其实重置SSH密钥的思路很简单。就是将需要重置密钥的实例创建映像,用这个映像创建新实例,然后修改引导券!希望本文对你有用,有问题可以留言。参考文献https://blogs.oracle.com/cloud-infrastructure/recovering-opc-user-ssh-key-on-oracle-cloud-infrastructure
2023年10月21日
7 阅读
0 评论
0 点赞
Oracle
/
ssh
2023-10-21
甲骨文DD重装系统及失联救砖教程
一、DD 本机系统dd 系统即重装系统:如下表示将系统重置为 ubuntu20.04 系统,账号/密码:root/12345注意事项:dd 过程一定要耐心等待,不要胡乱操作比如去后台重启,容易失联。耐心等待 10-30 分钟。bash 备用实例 备用实例 -> 附加的块存储 选择刚刚分离的失联引导卷,类型 ISCSI,访问 读写 ISCSI 需要在主机上执行挂载分离命令,此处先复制链接命令,过会分离用分离命令 打开备用实例 ssh,输入复制的连接命令 4、dd 附加盘注:此系统为原作者简化 dabian 系统,主要为了快速恢复失联;等待失联恢复后如需要其他系统,可使用一中脚本重新 dd 下载镜像: cd /root && wget http://app.isos.cc/dabian.sdb.gz复制 dd系统: gzip -dc /root/dabian.sdb.gz | dd of=/dev/sdb复制 新打开一个 ssh 窗口 sudo -i watch -n 5 pkill -USR1 ^dd$复制 然后重新回到此窗口,将发现 dd 正在进行中,一直等待到进度完成,此 dd 需要复制 3.2G 数据。 5、dd 结束,分离备用实例附加盘-> 挂载为失联实例引导盘 分离附加盘,3-3 步骤的分离命令执行一下,控制台分离 回到失联实例-引导卷,再给附加回去 开机,使用 账号/密码:root/10086.fit 登录实例。 三、自己制作 dd 包(附加内容,有需求可以玩玩) 与 二 步骤相同,把想要作为镜像的 arm 引导盘挂载到一个备用机(建议配置高点,速度快) 备用机执行 dd if=/dev/sdb | gzip > /root/ubuntu.img.gz 生成的压缩包在/root 目录下,时间很长需要等待 dd 恢复命令 gzip -dc /root/ubuntu.img.gz | dd of=/dev/sdb,过程如二
2023年10月21日
1 阅读
0 评论
0 点赞
DD
/
救砖
/
甲骨文
2023-10-21
宝塔面板替代面板 -Mdserver-web开源免费的VPS主机控制面板
一、Mdserver-web安装网站: https://github.com/midoks/mdserver-web 进入VPS主机,执行以下命令开始安装:自动安装curl -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/master/scripts/install.sh | bash脚本更新curl -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/master/scripts/update.sh | bash通用安装curl -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/master/scripts/quick/app.sh | bashmw菜单命令代码mw —调出面板管理总菜单mw 1 —重启面板服务mw 2 —停止面板服务mw 3 —启动面板服务mw 4 —重载面板服务mw 5 —修改面板端口mw 10 —查看面板默认信息mw 11 —修改面板密码mw 12 —修改面板用户名mw 13 —显示面板错误日志目前,脚本的兼容性还存在一定的问题,如果你发现安装完成后没有账号密码,请执行一次脚本更新安装即可。使用Mdserver-web安装完成后生成的地址、账号和密码登录,以下就是Mdserver-web的后台管理面板了,跟宝塔面板基本上是一样了。(点击放大)二、Mdserver-web配置2.1 OpenRestyMdserver-web的建站环境插件在软件管理页面中都可以找到,首先我们要安装OpenResty,这是一个类似于Nginx的Web平台,后期如果增加了Nginx,可以选择安装Nginx.2.2 PHP与MysqlPHP支持5.2到8.1各个版本。Mysql数据支持5.5到8.0。另外,记得安装PHPmyAdmin数据库管理。2.3 启动与自启动将OpenResty、PHP、Mysql等安装完成后,记得先手动启动一下。为了能够让开机启动,我们还需要进入到OpenResty、PHP、Mysql的设置页面将他们的自启动激活。如果你发现程序运行问题,记得查看一下OpenResty、PHP、Mysql是不是在正常运行。三、Mdserver-web建站3.1 绑定域名进入到Mdserver-web后台管理面板,添加网站,输入你的域名,记得提前将你的域名解析到服务器IP上。这个就是Mdserver-web的网站管理界面了,主要功能有:域名管理、子目录绑定、网站目录、流量限制、伪静态、默认文档、配置文件、SSL、PHP版本、防盗链、响应日志。3.2 PHP版本Mdserver-web支持给不同的网站设置不同的PHP版本,前提是你在软件管理中已经安装了多个PHP版本。3.3 URL伪静态Mdserver-web已经自带了DZ、Wordpress等流行的建站程序的URL伪静态规则,你直接根据你自己的建站需要来选择即可。3.4 免费SSL证书Mdserver-web已经集成了acme.sh,支持免费在线申请ZeroSSL、letsencrypt等免费SSL证书。SSL证书申请成功后,记得开启Https跳转,这样所有的访问就会自动跳转到SSL访问了。3.5 在线文件管理Mdserver-web的在线文件管理器基本上和宝塔面板一样了,各种功能都已经具备。Mdserver-web在线文件远程下载和上传。四、总结从功能上来看Mdserver-web已经具备作为建站Web平台的能力了,而且Mdserver-web的操作习惯和宝塔一样,上手很快。但是,Mdserver-web目前还存在不兼容和不稳定的情况,希望后期可以得到改进。其实,VPS建站使用VPS控制面板虽然方便,同时也会带各种麻烦,放弃面板使用命令建站才是“归宿”,推荐使用:Oneinstack和LNMP一键安装包。开源地址:https://github.com/midoks/mdserver-web
2023年10月21日
0 阅读
0 评论
0 点赞
面板
2023-10-21
wulabing V2Ray 一键安装脚本
[vip]wulabing V2Ray 一键安装脚本是目前仍然活跃的 V2Ray 一键脚本,该脚本拥有很多的自动配置功能,方便日常维护,支持 Vmess+WebSocket+TLS+Nginx+Web 一键安装。脚本优点 专业搭建 V2Ray WebSocket+TLS 模式,可选 HTTP/2 模式 自动安装 Nginx 自动搭建 Web 自动申请 SSL 证书,自动续期 SSL 证书 支持 TLS1.3 并兼容 TLS1.1 和 TLS1.2 可选安装 BBR 锐速 脚本自动配置功能较多,方便日常维护 脚本要求 Debian 9+ CentOS 7+ Ubutu 18.04+ 脚本预览安装前的准备工作前期准备 准备一台能够连接的独立服务器或者 VPS 服务器 准备一个域名并解析到需要安装脚本的服务器 注意事项如安装过程中出现错误,可尝试使用高版本的系统或换一个系统。准备安装更新服务器系统及脚本所依赖的安装包,参考如下命令更新服务器、安装 wget 和 curl 包。CentOSyum update -y && yum install wget -y && yum install curl -yDebian / Ubuntuapt-get update -y && apt-get install wget -y && apt-get install curl -y如果是一台新的服务器,更新过程会有点久,可以在这个时间阅读 V2Ray 官方脚本安装 安装前的准备 章节,等待更新完服务器后,做好这些设置,然后就可以参照下面的步骤开始安装 wulabing V2Ray 一键脚本了。一键脚本安装教程安装及更新方式Vmess+WebSocket+TLS+Nginx+Web 推荐安装wget -N --no-check-certificate -q -O install.sh "https://raw.githubusercontent.com/wulabing/V2Ray_ws-tls_bash_onekey/master/install.sh" && chmod +x install.sh && bash install.shVLESS+WebSocket+TLS+Nginx+Webwget -N --no-check-certificate -q -O install.sh "https://raw.githubusercontent.com/wulabing/V2Ray_ws-tls_bash_onekey/dev/install.sh" && chmod +x install.sh && bash install.sh注意事项 每周日的凌晨3点,Nginx 会自动重启以配合证书的签发定时任务进行,在此期间,节点无法正常连接,预计持续时间为若干秒至两分钟。 管理命令 启动 V2ray:systemctl start v2ray 停止 V2ray:systemctl stop v2ray 启动 Nginx:systemctl start nginx 停止 Nginx:systemctl stop nginx 相关目录 Web 目录:/home/wwwroot/3DCEList V2ray 服务端配置:/etc/v2ray/config.json V2ray 客户端配置: ~/v2ray_info.inf Nginx 目录: /etc/nginx 证书文件: /data/v2ray.key 和 /data/v2ray.crt 请注意证书权限设置 [/vip]
2023年10月21日
0 阅读
0 评论
0 点赞
V2Ray
2023-10-21
PHP判断自动识别PC电脑与WAP移动端进行不同的页面访问
新建一个index.php文件,并且让这个文件夹优先读取index.php,在这个页面下写入如下代码:这个代码是通过浏览器的模式来进行页面读取,“/tpl/m/”放置了移动端的模板,“/tpl/pc/”放置了PC端的模板,如果是PC端进入的,读取/tpl/pc/index.html文件,如果是移动端进入的,读取/tpl/m/index.html文件,当然这两个文件夹是可以更改的,大家随便来,文件夹地址改了之后记得改一下代码就好了,好用的话给个赞哦!
2023年10月21日
0 阅读
0 评论
0 点赞
none
2023-10-21
宝塔面板教程:一键卸载宝塔面板和运行环境,清除网站数据
如何一键卸载宝塔面板及清理网站数据?宝塔面板卸载之后我们可以重新安装别的建站环境,目前宝塔已经提供了比较方便的卸载功能,我们可以一键卸载,卸载之后还可以删除网站数据文件,这样就更彻底了。当然也可以直接重装,最为省事。宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。一、宝塔面板一键卸载(仅面板)使用下面的命令可以一键卸载宝塔面板,需要注意的是仅仅卸载了面板,网站数据还是在的。/etc/init.d/bt stop && chkconfig –del bt && rm -f /etc/init.d/bt && rm -rf /www/server/panel二、宝塔面板卸载 + 数据清理使用下面官方提供的一键命令可以卸载宝塔面板 + 清除数据。wget http://download.bt.cn/install/bt-uninstall.sh sh bt-uninstall.sh面板 + 环境 + 数据就都没了。如果想确认一下,那么可以看看 /www 这个目录还在不在,还在的话自己手动删除这个目录即可。三、直接重装即可卸载面板最彻底的方法当然是重装系统了,重装解君愁。重装方法就不多说了,各个 VPS 商家基本都可以在后台一键重装。
2023年10月21日
4 阅读
0 评论
0 点赞
面板
2023-10-21
搭建一个国内高可用的IPFS网关节点,低价打造去中心化无限存储节点(理论)
前言首先介绍一下IPFS(InterPlanetary File System)中文称为星际文件系统,是一个旨在实现文件的分布式存储、共享和持久化的网络传输协议。IPFS是WEB 3.0时代的基石之一,作为一个有着悠久历史的开源分布式存储系统,有着最为广泛的web 3.0的应用。我们可以通过IPFS的客户端或者IPFS网关来访问存在于该系统上的文件。也可以通过主动的分享自己的文件将文件分发至全世界。当你使用IPFS时你可以通过客户端利用P2P网络进行文件传输,如果有人不知道IPFS或者没有条件的情况下也可以采用传统的HTTP服务通过其他人公开提供的网关来获取你想要的内容。而这种模式就是我们今天要说的IPFS gateway(网关)。目前IPFS的网关大多数都是国外节点,国内用户使用极其困难。你可以通过公关网关查询网页查看当前可用的公开网关。IPFS公开网关查询:https://ipfs.github.io/public-gateway-checker/你可以在其中挑选一个适合自己的网关进行使用。不过就我个人而言大部分网关的国内连接质量都令人捉急。所以今天我给大家带来如何在境内搭建一个自己的网关。IPFS官网:ipfs.tech|ipfs.io简介先简单说一下IPFS网关的工作原理,IPFS本身是一个P2P的文件传输系统,网关则是其提供的通俗易用的一个功能,可以让人通过http访问IPFS系统上的内容。当我们使用网关访问一个IPFS上的数据时,服务器后台之中的IPFS节点服务首先会在本地搜索是否有该数据,如果没有就去给连接的其他IPFS节点发送该数据的CID数据,其他节点有的话就会先拉取到本地节点然后再通过网关来提供给用户。你可以将IPFS网关看成是BT客户端的提供的Web服务器。简单了解IPFS网关的功能之后我们来自建一个试试看搭建IPFS网关IPFS节点部署你可以部署多个节点,每个节点数据可以不同也可以相同,看你需要什么效果。我这里用腾讯云的境内轻量服务器做演示。如果是面对境外服务其实可以直接用上面提到的公开的网关。境内因为带宽价格昂贵所以几乎不存在公开的网关。服务器配置由于IPFS存储时会把数据切分成1MB或者更小的数据块,每个数据块都会分配一个CID(content identifier)。读写这些数据的时候还需要对数据进行处理所以服务器CPU不能太弱鸡,最起码也得是2C起步,内存不得低于2GB。我这里作为演示的机器为2C4G。至于硬盘大小的话就得看你自己需要存储的数据了。一般服务的话可以大致估算一下一个月内的常用数据有多少,比方说我是存图片,每个月大概10GB的新图还有5个GB的热门访问图片,那么我硬盘大小只要超过(10+5)/0.7=21.4GB就差不多够用了。其他数据你可以继续放硬盘也可以定期存储到filecoin链上,只需要一点FIL作为交易的gas费即可(目前有很多免费提供存储提供商)。至于本地存储的数据如果超过我们给的限定就会删除掉部分冷门数据以腾出空间。腾讯云轻量服务器活动价:我准备的是2C4G6M。镜像选择的是宝塔。购买完成之后我们需要开放一些IPFS需要用到的端口8080端口(默认网关端口)4001(节点通信端口)5001(API节点)进入服务器控制台选择防火墙-添加规则UDP这几个端口可开可不开。如果经常连接其他节点和其他节点互通数据建议UDP协议也打开。如果有大量数据存储需求可以买额外的云硬盘然后通过控制台挂载到服务器上后面IPFS初始化的时候要注意一下先设置环境变量。不然IPFS初始化之后会默认配置在系统盘。读写数据全放系统盘很容易占满。IPFS初始化官方教程地址:https://docs.ipfs.tech/install/command-line/#official-distributions1、下载安装服务1.1、下载压缩包(选择合适的下载源)wget https://dist.ipfs.tech/kubo/v0.15.0/kubo_v0.15.0_linux-amd64.tar.gz (官网) wget https://github.com/ipfs/kubo/releases/download/v0.15.0/kubo_v0.15.0_linux-amd64.tar.gz (GitHub) wget https://ghproxy.com/https://github.com/ipfs/kubo/releases/download/v0.15.0/kubo_v0.15.0_linux-amd64.tar.gz (GitHub下载加速服务适合国内)1.2、解压tar -xvzf kubo_v0.15.0_linux-amd64.tar.gz1.3、进入kubo文件夹并如下安装脚本cd kubobash install.sh1.4、测试IPFS是否正确安装ipfs --version这样就是安装完成了。2、初始化配置2.1、设置环境变量并初始化如果你直接初始化的话IPFS会直接在当前用户文件夹下生成一个./ipfs隐藏文件夹。如果你想初始化在其他指定硬盘/文件夹就需要先设置环境变量再初始化假设我们要设置的目录为/root/ipfs先创建文件夹mkdir /root/ipfs设置环境变量并初始化export IPFS_PATH=/root/ipfsipfs init这样就是初始化配置成功了。3、快速开始3.1、查看说明ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme3.2 基础功能3.2.1 添加文件/文件夹ipfs add filename (添加文件至ipfs节点)ipfs add -r dir (添加文件夹至ipfs节点)我一共添加了三个文件分别是1.png 1.mp4 1.txt 图片、视频、文档都有,返回的Qm开头的就是文件的CID,我们后面用网关访问就需要用到CID了。如图所示添加相同文件CID的不变,文件夹内每个文件都有单独的CID,文件夹本身也有个CID并保持了原有的结构。root@VM-8-14-debian:~/testdata# ipfs add -r data added QmZ8dHcccdqNBNgEHKnSMCVjAAhLc293tmhDZZcptfF5eD data/1.mp4 added Qmf7MKAKynNNt12EZyBNFWhvDn39y2P8pZ9tAaEtDRVZ1f data/1.png added QmYWAifyw2V5dEq7c5GgdSPffeKoYXQZggnYzw5RbXpig4 data/1.txt added Qme6r14w9pyGrjMU9UUzkNAuSmCY3d1svZtvNRfyyhNHFL data3.2.2 读取数据命令行下只能读取文本数据,我们以上面的1.txt为例ipfs cat QmYWAifyw2V5dEq7c5GgdSPffeKoYXQZggnYzw5RbXpig43.2.3 长期保存某数据根据IPFS的设置如果超过设置容量的阈值就会自动删除部分冷门数据,所以如果想长期保存某些数据还需要进行额外操作。ipfs pin add CID (pin文件至本地存储)ipfs pin ls [CID] (列出所有文件/有CID参数时列出该文件状态)3.2.4、删除数据ipfs pin rm CID这个没啥好说的。更多其他的命令可以自行探索IPFS网关部署启动IPFS建议先安装screen ,在screen session里执行,这个命令不能直接后台运行,这也算是比较蛋疼的一点。# 安装screenapt install screen -y (ubuntu/debian)yum install screen -y (centos)# 用screen新建一个sessionscreen -R ipfs# 开启ipfsipfs daemon然后Ctrl +A ,Ctrl +D挂起screen即可这样就是成功启动了。但是目前还不能直接通过IP访问,我们可以进行反代或者直接修改配置文件,由于服务器安全性问题,这里我建议直接反向代理,不要修改配置。公网访问网关1、反向代理反向代理也没啥好说的,解析域名到服务器IP,然后先申请SSL证书然后再开启反向代理,把网关地址127.0.0.1:8080反向代理即可。然后直接访问域名/ipfs/CID即可如我想访问上面添加的data文件夹,它的CID为:Qme6r14w9pyGrjMU9UUzkNAuSmCY3d1svZtvNRfyyhNHFL。假设我的域名是ipfs.2demo.top则访问https://ipfs.2demo.top/ipfs/Qme6r14w9pyGrjMU9UUzkNAuSmCY3d1svZtvNRfyyhNHFL这样你就成功搭建了一个境内可用的IPFS网关了。2、修改配置如果你只开放网关的话只要修改配置里的Address.Gateway,如果你要用图形界面(webui)还需要修改Address.API和API.HTTPHeaders一个修改为0.0.0.0,一个修改为服务器内网IP(没有内网IP就用公网IP)就行要用webui可以先进入IP:5001/webui会自动弹出来一个修改配置的命令,复制粘贴然后重启ipfs即可复制2之中的命令到服务器运行一下然后重启ipfs之后就会显示已连接IPFS了你可以查看ipfs节点状态,文件,节点连接情况等。不过还是不建议公开webui,没有鉴权很容易导致别人乱存东西。安装到服务创建文件 /etc/systemd/system/ipfs.service 写入[Unit]Description=IPFS DaemonAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=simpleExecStart=/usr/local/bin/ipfs daemon --enable-namesys-pubsubUser=milton[Install]WantedBy=multi-user.target然后通过systemctl添加systemctl daemon-reloadsystemctl enable ipfs systemctl start ipfs systemctl status ipfs修改存储空间限制可以通过修改Datastore.StorageMax来限制ipfs占用的硬盘空间大小,默认是10GB结语ipfs作为一个分布式存储可以说是自一开始就很有话题性,我们可以轻松的通过一个节点连接到全球,获取全球的数据,或者分发数据。需要注意的是如果你的数据被其他节点保存之后,你再删除自己节点内的数据也是无效的,其他人仍然能够通过其他节点访问该数据。反之,如果一份数据所存在的节点全都下线了或者删除了该数据那么也无法访问到该数据了。尽管国内很多宣传ipfs服务的都说存上去就是去中心化了就永久保存了。这都是屁话,重要数据建议多备份,私密数据可以先加密再上传。我之所以用IPFS是因为我可以白嫖filecoin那些存储,只要我定期存一次数据就能直接不受限于我的服务器硬盘了。相对而言如果访问量高的话会导致带宽占用过多,从其他节点获取数据会让CPU保持一个较高的负载。但是我用的轻量服务器,上传带宽远小于下载带宽,本身也不是为了高并发去的,所以无所谓。要想体验好还是建议选个大点的硬盘,能够尽量存储更多的热门数据,部分低访问的数据存在其他节点即可。
2023年10月21日
4 阅读
0 评论
0 点赞
none
2021-08-20
wordpress主循环显示文章列表不同样式的方法
假如我们选择首页显示最新文章,并且:第一篇文章显示摘要,后面的只显示标题。。。还有第一篇文章显示广告之类的。。。那么如何利用循环控制呢?1、首页显示文章的代码一般都是:<?php if (have_posts()) : ?> <!--检查是否有文章如果有,继续执行,没有就跳到 else 那里--> <?php while (have_posts()) : the_post(); ?> <!--开始准备文章内容,开始循环,每次循环输出一篇文章--> 此处显示文章内容或标题之类的。。 <?php endwhile ; ?> <!-- while 循环结束--> <?php else : ?> 此处显示未找到文章时的信息,比如404相关 <?php endif ; ?> <!-- if 结束-->2、要想精确的控制每篇文章,我们先在循环前定义一个变量 $ashu_i=1 来计数,变量名随便,然后每循环一次,$ashu_i加1,例子我把index.php中的代码改成下面的--<?php if (have_posts()) :$ashu_i=0;?> <?php while (have_posts()) : the_post();$ashu_i++;?> <?php echo "这是第 $ashu_i 篇文章:<br/>";?> <?php the_title();?> <?php echo "<hr>"; <?php endwhile; ?> <?php else : ?> 此处显示未找到文章时的信息,比如404相关 <?php endif; ?>上面的例子就给每篇文章来了个简单控制。3、具体要想让第一篇文章显示摘要,而余下的显示标题--代码:<?php if (have_posts()) :$ashu_i=0;?> <!--检查是否有文章,并定义计数变量初始值为0 --> <?php while (have_posts()) : the_post();$ashu_i++;?> <!-- 开始循环,第一次循环$sahu_i为1,第二次为2,依次。。 --> <?php if($ashu_i==1){?> <!-- 如果是第一篇文章 --> <?php the_content();}else{?> <!-- 显示内容 --> <?php the_title();}?> <!-- 如果不是第一篇显示标题 --> <?php endwhile; ?> <!-- 一次while循环结束 --> <?php else : ?> <!--如果没有文章--> 此处显示未找到文章时的信息,比如404相关 <?php endif; ?> <!--if结束 -->
2021年08月20日
4 阅读
0 评论
0 点赞
wordpress
2021-08-20
如何在 WordPress 文章列表中完美的插入一篇或几篇广告跳转文章
前段时间在知更鸟那看到一个非常有趣的事,他博客首页中文章列表处的第一篇文章居然是个广告,点击以后不是进入他博客的文章页,而是跳到了一个广告页面,欺骗性简直逆天了!随之而来的广告点击量可想而知了~通常我们想达到这样的效果的话,就需要设置一个额外的广告位(方法见下面的额外补充 1),如果你想放在不同的地方的话(如,首页的不同结构中或侧边栏的不同结构中),则需要将各个广告位的结构调成与它们一样才行....昨天,在胖子马博客发现了一个非常完美的方法,操作起来远没有上面描述的这样复杂!可以在文章列表中的任意位置插入一篇或多篇广告跳转文章,完美的与主题结构融合,与主题列表的展现形式一模一样,不用去额外的改变任何结构!而且可以一键无痕的将发布的任何文章变成广告跳转文章!实现过程非常简单,利用了 wordpress 强大的自定义字段~首先,打开主题文件 functions.php,粘贴下面的代码到里面:/** * 如何在 WordPress 文章列表中完美的插入一篇或几篇广告跳转文章 * https://www.ilxtx.com/link-to-some-external-ressource-naturally.html */ function lxtx_post_link() { global $post; $thePostID = $post->ID; $post_id = get_post($thePostID); $title = $post_id->post_title; $perm = get_permalink($post_id); $post_keys = array(); $post_val = array(); $post_keys = get_post_custom_keys($thePostID); if (!empty($post_keys)) { foreach ($post_keys as $pkey) { if ($pkey=='url1' || $pkey=='title_url' || $pkey=='url_title') { $post_val = get_post_custom_values($pkey); } } if (empty($post_val)) { $link = $perm; } else { $link = $post_val[0]; } } else { $link = $perm; } echo $link; }再把主题中输出文章固定链接地址的函数:the_permalink() 替换为我们上面自定义的这个函数:lxtx_post_link() 即可!最后,当你要将文章链接到博客之外的页面时,只要在这篇文章中创建自定义字段url1或title_url或url_title ,再输入外部 URL 地址作为值就可以了。完成这个操作后,当你发表一篇文章时,系统会查找字段url1或title_url或url_title的值,如果找到,那么就会直接链接到外部站点而不是本博客文章;如果没有找到自定义字段值,就会简单地显示链接本身。如下图,图中的这篇“测试文章”的链接就是指向外链的!你看不出来吧~~{callout color="#f0ad4e"}友情提示:1.可以把多篇文章变为广告跳转文章哦,而且通过调节时间,可以在任意位置显示。 这样访客在浏览你的文章时,肯定想不到这是一个广告!当然这样做肯定不是很合适啦~~2.上面的代码还可以进一步精简的,我感觉不需要设置这么多的自定义字段~{/callout}额外补充 1 WordPress 的分类页、Search 页,Tag 页等输出的文章列表时,如果想在中间位置(比如第 5 个文章后面)出现,可以用下面的代码:<?php if ($wp_query->current_post == 4) : ?> <div> 广告代码 </div> <?php endif; ?> <?php if ($wp_query->found_posts < 5 and $wp_query->current_post == ($wp_query->found_posts - 1)): ?> <div> 广告代码 </div> <?php endif; ?>$current_post 属性,必须用在 Loop 里面,表示当前显示的文章索引值;它是以 0 为起始值,如果想要在第 5 个文章后面,$wp_query->current_post 等于 4 即可。$found_posts 属性,表示按 $wp_query 匹配的文章总数。上面的代码只能放在 Loop 里面,比如 <?PHP if (have_posts()) : while (have_posts()) : the_post(); ?> 后面,表示广告代码将在文章列表的第 5 个文章后面出现,如果列表匹配出来的文章总数不到 5 个,就在列表的最后位置出现广告代码。额外补充 2 在陌小雨博客那又发现了另一个方法~ 只需要在发布文章时切换成文本,然后加入如下代码即可:<script type="text/javascript">document.location = "https://www.ilxtx.com"</script>注意替换网址为你想跳转的链接。可用于老文章失效,跳转到新文章哦~额外补充 3:WordPress 在文章内容中间插入广告 下面的代码可以实现在文章的第几段后面插入广告,注意按照下面的注释修改广告代码和段落数,转自WP 大学。/** * WordPress 在文章内容中间插入广告 * https://www.ilxtx.com/link-to-some-external-ressource-naturally.html */ //在文章内容的第二段后面插入广告 add_filter( 'the_content', 'lxtx_prefix_insert_post_ads' ); function lxtx_prefix_insert_post_ads( $content ) { $ad_code = '<div>添加你的广告代码</div>'; if ( is_single() && ! is_admin() ) { // 修改 2 这个段落数 return lxtx_prefix_insert_after_paragraph( $ad_code, 2, $content ); } return $content; } // 插入广告所需的功能代码 function lxtx_prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) { $closing_p = '</p>'; $paragraphs = explode( $closing_p, $content ); foreach ($paragraphs as $index => $paragraph) { if ( trim( $paragraph ) ) { $paragraphs[$index] .= $closing_p; } if ( $paragraph_id == $index + 1 ) { $paragraphs[$index] .= $insertion; } } return implode( '', $paragraphs ); }
2021年08月20日
11 阅读
0 评论
0 点赞
wordpress
1
...
4
5
6