分类 linux 下的文章

重建服务器 复盘2023/3/5

重建了服务器,然后现在就是用的debian

然后没有手装lnmp

而是用lnmp.org的一键安装包,不得不说挺好用的。

本来是想用xray一键安装包来安装的,但是可以换端口的都不支持debian(还是说我没有找到?)

其他的都是要80端口,就和本来的冲突了,我还因此不得不重新装一遍lnmp好在只有30分钟还好。

其他的就是后来还是只用普通的v2ray一键安装包,不是很想去折腾然后手动安装。

lnmp 安装脚本:

 wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8 && ./install.sh lnmp

v2ray 安装脚本:

source <(curl -sL https://multi.netlify.app/v2ray.sh) --zh

安装 Curl 依赖包

yum update -y && yum install curl -y #CentOS/Fedora
apt-get update -y && apt-get install curl -y #Debian/Ubuntu

此时,Xray服务并没有被安装,你需要输入管理命令“Xray”,这时候系统会提示你“检测到本机没安装xray, 正在自动安装..”,请稍等片刻,即可完成。

一键安装脚本升级命令(保留配置文件更新)

source <(curl -sL https://multi.netlify.app/v2ray.sh) -k

一键安装脚本卸载命令

source <(curl -sL https://multi.netlify.app/v2ray.sh) --remove

一键安装脚本的V2Ray管理命令行参数

v2ray [-h|--help] [options]
 -h, --help           查看帮助
 -v, --version        查看版本号
 start                启动 V2Ray
 stop                 停止 V2Ray
 restart              重启 V2Ray
 status               查看 V2Ray 运行状态
 new                  重建新的v2ray json配置文件
 update               更新 V2Ray 到最新Release版本
 update.sh            更新 multi-v2ray 到最新版本
 add                  新增mkcp + 随机一种 (srtp|wechat-video|utp|dtls|wireguard) header伪装的端口(Group)
 add [wechat|utp|srtp|dtls|wireguard|socks|mtproto|ss]     新增一种协议的组,端口随机,如 v2ray add utp 为新增utp协议
 del                  删除端口组
 info                 查看配置
 port                 修改端口
 tls                  修改tls
 tfo                  修改tcpFastOpen
 stream               修改传输协议
 cdn                  走cdn
 stats                v2ray流量统计
 iptables             iptables流量统计
 clean                清理日志
 log                  查看日志

xray管理程序使用方法与v2ray管理程序基本一致,请根据提示操作即可。

bbr加速脚本:

卸载内核

wget -N --no-check-certificate "https://github.000060000.xyz/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

wget -N "https://github.000060000.xyz/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

不卸载内核

wget -N --no-check-certificate "https://github.000060000.xyz/tcpx.sh" && chmod +x tcpx.sh && ./tcpx.sh

wget -N "https://github.000060000.xyz/tcpx.sh" && chmod +x tcpx.sh && ./tcpx.sh
安装中 提示Abort kernel removal? 选择No

一键安装LNMP环境后,默认会安装Nginx,MySQL和PHP,相应的软件安装目录如下:

Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
PHP目录 : /usr/local/php/
默认网站目录 : /home/wwwroot/default/
Nginx日志目录:/home/wwwlogs/

同样,LNMP默认的配置文件目录如下:

Nginx主配置(默认虚拟主机)文件:/usr/local/nginx/conf/nginx.conf
添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf

一般维护站点需要用到的命令如下:

重启nginx/mysql/php:lnmp nginx/mysql/php restart

重启所有:lnmp restart

添加站点:lnmp vhost add

添加数据库:lnmp database add

查看帮助:lnmp

LNMP 1.2或更高版本下需要执行:chattr -i /网站目录/.user.ini 后才能完整删除网站目录。

3月18日更新

docker安装:

sudo apt install docker-ce

安装青龙云面板:

拉取镜像

docker pull whyour/qinglong:latest

创建容器:

 docker run -dit \
   -v $PWD/ql/config:/ql/config \
   -v $PWD/ql/log:/ql/log \
   -v $PWD/ql/db:/ql/db \
   -v $PWD/ql/repo:/ql/repo \
   -v $PWD/ql/raw:/ql/raw \
   -v $PWD/ql/scripts:/ql/scripts \
   -v $PWD/ql/jbot:/ql/jbot \
   -p 5700:5700 \
   --name qinglong \
   --hostname qinglong \
   --restart unless-stopped \
whyour/qinglong:latest
先复制第一行,再复制其他如果是finalshell 直接在输入框的上方输入

青龙云面板基础命令:

#重启青龙容器
docker restart 你的容器名
 
#更新青龙
docker exec -it qinglong ql update
 
#更新青龙并编译
docker exec -it qinglong ql restart
 
#拉取自定义仓库
docker exec -it qinglong ql repo https://ghproxy.com/https://github.com/whyour/hundun.git "quanx" "tokens|caiyun|didi|donate|fold|Env"
 
#拉取单个脚本
docker exec -it qinglong ql raw https://ghproxy.com/https://raw.githubusercontent.com/moposmall/Script/main/Me/jx_cfd.js
 
#删除7天前的所有日志
docker exec -it qinglong ql rmlog 7
 
#启动bot
docker exec -it qinglong ql bot
 
#导出互助码
docker exec -it qinglong ql code
 
#通知测试
docker exec -it qinglong notify test test
 
#立即执行脚本
docker exec -it qinglong task test.js now
 
#并行执行脚本
docker exec -it qinglong task test.js conc

时间规则:

*/5 * * * * ?    #每隔 5 秒执行一次
0 */1 * * * ?    #每隔 1 分钟执行一次
0 0 2 1 * ? *    #每月 1 日的凌晨 2 点执行一次
0 15 10 ? *    #MON-FRI 周一到周五每天上午 10:15 执行
0 15 10 ? 6L    #2002-2006 2002 年至 2006 年的每个月的最后一个星期五上午 10:15 执行
0 0 23 * * ?    #每天 23 点执行一次
0 0 1 * * ?    #每天凌晨 1 点执行一次
0 0 1 1 * ?     #每月 1 日凌晨 1 点执行一次
0 0 23 L * ?    #每月最后一天 23 点执行一次
0 0 1 ? * L    #每周星期天凌晨 1 点执行一次
0 26,29,33 * * * ?    #在 26 分、29 分、33 分执行一次
0 0 0,13,18,21 * * ?    #每天的 0 点、13 点、18 点、21 点都执行一次
0 0 10,14,16 * * ?    #每天上午 10 点,下午 2 点,4 点执行一次
0 0/30 9-17 * * ?    #朝九晚五工作时间内每半小时执行一次
0 0 12 ? * WED    #每个星期三中午 12 点执行一次
0 0 12 * * ?    #每天中午 12 点触发
0 15 10 ? * *    #每天上午 10:15 触发
0 15 10 * * ?    #每天上午 10:15 触发
0 15 10 * * ? *    #每天上午 10:15 触发
0 15 10 * * ?    #2005 2005 年的每天上午 10:15 触发
0 * 14 * * ?    #每天下午 2 点到 2:59 期间的每 1 分钟触发
0 0/5 14 * * ?    #每天下午 2 点到 2:55 期间的每 5 分钟触发
0 0/5 14,18 * * ?    #每天下午 2 点到 2:55 期间和下午 6 点到 6:55 期间的每 5 分钟触发
0 0-5 14 * * ?    #每天下午 2 点到 2:05 期间的每 1 分钟触发
0 10,44 14 ? 3 WED    #每年三月的星期三的下午 2:10 和 2:44 触发
0 15 10 ? * MON-FRI    #周一至周五的上午 10:15 触发
0 15 10 15 * ?    #每月 15 日上午 10:15 触发
0 15 10 L * ?    #每月最后一日的上午 10:15 触发
0 15 10 ? * 6L    #每月的最后一个星期五上午 10:15 触发
0 15 10 ? * 6L    #2002-2005 2002 年至 2005 年的每月的最后一个星期五上午 10:15 触发
0 15 10 ? * 6#3    #每月的第三个星期五上午 10:15 触发

安装oneindex:

项目:https://github.com/Mintimate/OneindexM

这个项目其实不好只有一个主题可以用其他的主题都是有问题的,关键是能用的就是最基本的那个:

image-20230318152436403

如果可以的话其实是可以用原来的项目。

Onedrive国际版本,到Microsoft Azure App registrations
世纪互联版本OneDrive,到Microsoft Azure.cn App registrations

  • 受支持的帐户类型:如图:选择任何组织目录的账号和个人
  • 重定向 URI:这里填入我建立的API: https://tool.mintimate.cn/oneindexM/

设置权限

在获取应用机密前,我们需要设置权限,点击:API权限-Microsoft Graph:

依此勾选:

  • offline_access
  • Files.Read
  • Files.Read.All

伪静态:

if (!-f $request_filename) {
set $rule_0 1$rule_0;
}
if (!-d $request_filename) {
set $rule_0 2$rule_0;
}
if ($rule_0 = "21") {
rewrite ^/(.*) /?/$1 last;
}

typecho插件商店:https://github.com/typecho-fans/plugins/releases/download/plugins-S_to_Z/TeStore.zip

需要设置文件可读写

replit白嫖节点教程

2023/05/1更新

https://replit.com/@ygkkkk?tab=repls

点击上面的链接

image-20230501083939168

点击红框框住的地方

image-20230501084030461

点击fork

之后等他自己加载,创建项目

完成后点击run

项目地址:

https://github.com/yonggekkk/Replit-Xray


Replit(https://repl.it)是一个基于浏览器的云端协同开发平台,可用于构建开发环境、实时协作、托管网络应用等。Replit提供可创建动态或者静态网站的容器,并会自动生成免费https域名(格式为:项目名.用户名.repl.co)。

Replit官方文档:https://docs.replit.com/

注册

注册地址 https://repl.it

搭建v2ray

  1. 浏览器登录自己的Replit账号,新窗口打开https://replit.com/@hifeng/v2rayN?v=1
  2. fork这个项目,仅需点击Use Template,然后给项目取个名字,然后Use Template就行了。
  3. 点击run
  4. 在左侧的Files菜单中,程序自动创建url.txt文件,文件包括vmess和vless节点连接,直接导入软件即可

replit每隔一段时间就会休眠,所以当节点不可用的时候,可以登录一下replit,重新开启容器

海洋CMS自动采集脚本(sh脚本)2023版

第一步:获取脚本代码。
【1】下面是自动采集脚本代码,我们需要修改代码里面的3项后才可以使用。

#!/bin/bash
########################################################
# 程序名称: 海洋CMS自动采集脚本
# 版本信息:seacmsbot-2023
# 发布链接: https://blog.heky.tk/index.php/archives/301/
# 使用方法:直接复制代码到宝塔计划任务shell脚本内容里添加每小时任务使用
# 更新时间:2023/1/16
##########################################################
#请修改下面的网站域名及管理目录
web_site="http://网站域名/管理目录/admin_reslib2.php"
   
#请修改下面项内容为"admin_reslib2.php"里设置的访问密码(默认为系统设置的cookie密码)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"
   
#下面项内容为资源站每日采集链接地址列表,请自行修改,每行一条,可添加多个,前后需添加引号。
#每日采集链接获取方法:选择"后台-采集-资源库列表",复制资源站右边的"采集每天"的链接地址,去掉?前面的内容。
web_api=(
    
      
      '?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_seackm3u8s.php'
     '?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ldgm3u8_sea.php'
     
  
)
#模拟用户浏览器ua,如果脚本运行错误,请自行百度浏览器ua并自行修改
web_ua="Mozilla/5.0 (Linux; Android 4.4.4; HM NOTE 1LTEW Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36 MicroMessenger/6. 0.0.54_r849063.501 NetType/WIFI"
   
#采集单页
function get_content() {
  echo  "正在采集第$page页..." 
  #echo  " get_content: --->url:--->$1"
  cResult=$(curl  --connect-timeout 10 -m 20  -k -s   -L -A "$web_ua"  "$1" )
  echo $cResult | grep -q "采集"
  #echo  -e  "$1\n$cResult"
 if [ "$?" = "0" ]; then
     next_content "$cResult"
else
    echo  -e "采集失败,请检查设置!\n失败链接-->$1\n返回信息-->$cResult\n采集结束,共0页"
fi 
}
#采集下页
function next_content() {
    #统计数据
     Result=$(echo "$1" | tr "<br>" "\n")
     a=$(echo "$Result" | grep -c  "采集成功")
     b=$(echo "$Result" | grep -c  "更新数据")
     c=$(echo "$Result" | grep -c  "无需更新")
     d=$(echo "$Result" | grep -c  "跳过")
     echo "采集成功-->已更$c部,新增$a部,更新$b部,跳过$d部"
     let add+=$a
     let update+=$b
     let none+=$c
     let jmp+=$d
    #检测并采集下页
     next_url=${1##*location.href=\'}
     next_url=${next_url%%\'*}
      #echo $next_url
      if [ "${next_url:0:1}" = "?" ]
          then
          let page++
          get_content "$web_site$next_url" 
    else
         echo "采集结束,共$page页"
       fi  
}
#脚本入口
echo "海洋CMS自动采集脚本开始执行 版本:v1.2"
starttime=$(date +%s)
update=0  #更新
add=0     #新增
none=0  #无变化
jmp=0  # 跳过
for url in ${web_api[@]}; 
do  
if [[ ! -z $url ]]
     then
           web_param="$web_site$url&password=$web_pwd"
           page=1
           echo "开始采集:$url"
           get_content $web_param
  fi 
done
endtime=$(date +%s)
echo "============================"
echo "入库-->$add部"
echo "更新-->$update部"
echo "跳过-->$jmp部(未绑定分类或链接错误)"
echo "今日-->$[none+add+update]部"
echo "============================"
echo  "全部采集结束,耗时$[endtime - starttime]秒"

第二步:修改脚本
【2】根据上面提供的代码内容复制到记事本或是其他html编辑器来对应修改

①请修改下面的网站域名及管理目录
web_site="http://网站域名/管理目录/admin_reslib2.php"

这个是需要修改成你的“网站域名”和“海洋cms后台的管理目录”。域名大家都能理解,后台的管理目录这个对于新手来说需要多讲两句,首先你要能登录你的后台才可以知道你的后台目录。举例说明:假如我的后台登录地址是 mytheme.cn/xxxx/那么这里的“xxxx”就是后台的管理目录,得到了管理目录我们直接填写到代码里即可。

②请修改下面项内容为"admin_reslib2.php"里设置的访问密码(默认为系统设置的cookie密码)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"

这个修改需要到海洋cms系统后台得到我们的cookie密码进行替换才可以,具体步骤:系统-网站设置-cookie密码。得到自己网站的cookie密码后替换即可。

③下面项内容为资源站每日采集链接地址列表,请自行修改,每行一条,可添加多个,前后需添加引号。

\#每日采集链接获取方法:选择"后台-采集-资源库列表",复制资源站右边的"采集每天"的链接地址,去掉?前面的内容。

web_api=(
   
    '?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_seackm3u8s.php'
   '?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ldgm3u8_sea.php'  
)

这个是代码里需要修改的最后一项,里面是代码里默认提供的2个采集链接地址,我们需要获取自己的采集链接地址添加到里面。

第三步:宝塔定时任务设置。
直接复制代码到宝塔计划任务shell脚本,内容里添加每小时任务使用。

如果没有使用宝塔面板可以 把修改好的代码,另存为"cms.sh"(你想叫其他名字也可以) ,上传到vps文件夹中例如"/opt",然后执行以下代码

chmod +x opt/cms.sh
echo "* */1 * * * opt/cms.sh">>/etc/crontab
service crond start

就可以了

mysql 忘记密码找回

利用mysql自带的用户debian-sys-maint进行重置密码,只有Debian或Ubuntu服务器才有,存在于/etc/mysql/debian.cnf文件中

  1. 打开/etc/mysql/目录下的debian.cnf文件,里面包括用户名和密码
sudo vim /etc/mysql/debian.cnf
  1. 使用文件中提供的用户名和密码进入mysql
mysql -u debian-sys-maint -p
  1. 选择mysql数据库
use mysql;
  1. 更新root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你要修改的密码';

ps:数据库密码更换以后,如何重新设置Typecho?

修改文件 config.inc.php

syncthing服务器(linux)端的安装教程

OIP-C

  1. 查看自己的linux版本

    dpkg --print-architecture
  2. 打开链接下载对应版本的文件(科学上网)

    链接

  3. 上传到服务器
  4. 解压

    tar zxf xxx.tar.gz
  5. 打开可执行文件

    cd /opt     #打开对应目录
    ./syncthing

    需要开放端口22000,8384,8385

使用教程请自行百度


碎碎念:

rpm安装默认目录:
数据文件:/var/lib/mysql/
配置文件模板:/usr/share/mysql
mysql客户端工具目录:/usr/bin
日志目录:/var/log/
pid,sock文件目录:/tmp/

在一通作死的尝试后服务器成功被我搞坏

我得到两个启示

  1. 遇到问题先reboot
  2. 遇到问题先reboot

现在是第三次重装服务器

有点小难受,看着之前的积累就这样的无了,哎。

其实静下心来想,也没有什么人来看我的博客,这样的结局或许是最好的吧。

好吧,救活了,就是在重装完mysql后nginx的配置可能会变。

然后我也重装了,然后服务器就奔溃了,404

然后就是万能reboot

这次service nginx status 是active在运行了

就是打开网址都是跳到默认网址。

我后面想了一下应该是软链接的问题,毕竟配置还在。

就把原来的软链接删掉,然后重新建立软链接。

ok了复活了

这次主要还是mysql的事。

一直reboot也是治标不治本,赶紧重装了一下倒还好。及时止损。