linux教程
Linux临时或永久设置DNS服务器
有时候我们运行某些项目或者命令的时候,会因为服务器的dns错误导致出问题,这时候就需要我们修改dns服务器了。
相关错误
当服务器的dns错误的时候,我们运行wget命令的时候,会报错如下:
#wget命令行
wget: unable to resolve host address
#curl命令行
curl: (6) Could not resolve host
有些需要请求网络的项目同样也会因为dns错误导致出问题,我们可以运行如下命令查看dns是否正确:
curl https://www.baidu.com
设置DNS服务器
注意临时和永久设置的区别就是,临时设置重启服务器后就会失效,永久设置重启服务器后依然生效。
建议先用临时设置DNS的方法验证我们的问题是否被解决,然后在永久修改DNS服务器。
临时设置DNS服务器
临时设置DNS服务器的方法很简单,只需要在命令行输入如下命令即可:
#设置Google DNS服务器
echo "nameserver 8.8.8.8" > /etc/resolv.conf
echo "nameserver 8.8.4.4" >> /etc/resolv.conf
运行完即为设置成功。
永久设置DNS服务器
由于dns服务器问题普遍出现在centos系统上,所以我们只讲解centos及其衍生系统,教程适用于centos7+,AlmaLinux,Rocky Linux等系统。
对于linux不太熟悉的新手来说,如果你安装了宝塔面板,可以在宝塔面板安装linux工具箱,设置主dns服务器为8.8.8.8,备用dns服务器为8.8.4.4。
首先使用root权限登录服务器,然后输入如下命令:
#检测并判断是否安装网卡检测工具
if ! command -v ifconfig &> /dev/null; then yum install -y net-tools; fi
#获取网卡信息
ifconfig -a
看到接口信息后,显示inet服务器IP的就是你的网卡信息,该部分左上角的英文就是你的网卡名称,也有可能是其他的。
下面开始设置永久dns,运行以下命令:
cd /etc/sysconfig/network-scripts/
#找到网卡配置文件,一般名称为ifcfg-网卡名称,如ifcfg-eth0
ls
#修改配置文件,运行命令之前,先将下面2个命令的后面改成你的网卡配置文件名称
sed -i '/DNS1=/d' ifcfg-eth0
echo "DNS1=8.8.8.8" >> ifcfg-eth0
#重启网络生效,重启如果有报错,解决方法看下方
service network restart
#检查是否修改完成
cat /etc/resolv.conf
如果出现错误
输出你设置的dns服务器就修改完成了。
注意如果出现Failed to restart network.service: Unit network.service not found.错误,则运行命令:
systemctl restart NetworkManager
然后重新使用命令重启网络就可以了。
Linux使用Brook转发端口一键脚本
有时候我们连接远程服务器SSH,或其它端口地址出现很慢的情况,很影响体验;这时候我们可以在网络好的服务器使用Brook转发任意的远程服务器端口,从而改善网络情况。
大概转发原理
比如我服务器B网络不太好,服务器A网络可以,而服务器B有我在运行的程序,地址为http://服务器B的ip:3000,那么我可以使用服务器A的任意端口,比如4000端口转发服务器B的3000端口,这时候你访问http://服务器A的ip:4000的时候,服务器A会去请求http://服务器B的ip:3000,最后再将数据返回给你,也就是不需要直接访问服务器B,而是访问服务器A就可以了,间接的等于你访问服务器B的数据,达到一种加速效果。
安装brook
首先我们需要挑选一个网络相对较好的服务器进行中转,起码也要比你转发的服务器网络要好,不然就没什么意义了。
系统要求:CentOS 7+,Debian 8+,Ubuntu 16.04+,AlmaLinux 8+,Rocky Linux 8+。
然后使用SSH客户端,比如Xshell软件,登录该VPS服务器,使用命令:
#下载脚本
wget -N --no-check-certificate -O /opt/brook.sh https://file.efvcms.com/moeapp/shell/brook.sh
#运行命令,运行之前请修改相关参数,8888为本地端口,192.6.8.1:9999为远程ip地址:远程端口
bash /opt/brook.sh 8888 192.6.8.1:9999
运行完成后,你访问安装端口转发服务器的ip:8888就等于访问远程服务器的192.6.8.1:9999。
如果你需要转发其它端口,且可以多次通过运行该命令,来中转多个远程服务器端口地址。
删除相关端口转发brook
如果我们多次运行脚本转发端口,有些不使用了,需要删除,则按要求操作命令:
#查看全部转发端口配置文件,格式为brook_8888.service,8888为本地转发的端口
ls /etc/systemd/system/brook_*
#停止端口转发,8888为你需要停止的本地转发的端口,自行修改
systemctl stop brook_8888
#删除端口转发,8888为你需要停止的本地转发的端口,自行修改
systemctl disable brook_8888
rm -rf /etc/systemd/system/brook_8888.service
#删除brook转发配置文件,8888为你需要停止的本地转发的端口,自行修改
rm -rf /opt/brook_8888.json
运行完成后,指定端口转发会彻底删除。
使用Nginx配置防范恶意统计链接
非常理解您的困扰,这种带有明显垃圾推广参数的恶意访问不仅耗费资源,还可能涉及安全风险。这类访问通常来自爬虫、扫描器或广告刷量机器人。为了保护您的服务器资源,我们可以通过Nginx配置来防范这些恶意统计链接。以下是一个简单的Nginx配置示例,用于过滤掉带有特定参数的请求:
server {
# ↓↓↓ 完整的屏蔽规则 ↓↓↓
set $block 0;
# 模式1:匹配 ad= 后面跟域名的情况(如 ad=www.xxx.com)
if ($query_string ~* "ad=([^&]*\.(com|cn|net|org|info))") {
set $block 1;
}
# 模式2:匹配URL中包含连续数字账号的模式(如 laoli8862, zhangsan1234 等)
if ($request_uri ~* "[a-z]+[0-9]{4,}") {
set $block 1;
}
# 模式3:匹配常见的推广参数名
if ($query_string ~* "(ad|promo|sponsor|aff|agent|proxy|market)=[^&]*") {
set $block 1;
}
# 模式4:匹配异常的域名自引用
if ($query_string ~* "ad=.*ykpic\.com") {
set $block 1;
}
# 最终判断
if ($block = 1) {
return 444;
}
# ↑↑↑ 完整的屏蔽规则结束 ↑↑↑
然后重启动nginx服务即可。
Linux服务器挂载硬盘
我们购买独立服务器的时候,有些硬盘是需要我们自己去挂载的,如果服务器只有一块硬盘,那么我们就不需要挂载,如果服务器有多个硬盘,那么我们就需要挂载了,下面介绍如何挂载硬盘。
确定是否有硬盘未挂载
使用SSH客户端登录服务器,运行命令:
df -h
#输出信息大致如下,Size为容
[root@s196176 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.4G 0 7.4G 0% /dev
tmpfs 7.4G 8.7M 7.4G 1% /run
/dev/mapper/vg-root 431G 1.3G 408G 1% /
/dev/sda2 1008M 119M 839M 13% /boot
/dev/mapper/vg-tmp 976M 2.6M 907M 1% /tmp
如果我们买的时候是1T硬盘,那么我们就可以看到硬盘大小为1T,但是如果我们买的是2T硬盘,那么我们就可以看到硬盘大小为431G,因为我们的硬盘还没有挂载,所以我们需要挂载硬盘。
查看需要挂载的硬盘
使用SSH客户端登录服务器,运行命令:
lsblk
#输出信息如下
[root@s196176 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 447.1G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 446.1G 0 part
├─vg-root 253:0 0 437.6G 0 lvm /
├─vg-swap 253:1 0 7.5G 0 lvm [SWAP]
└─vg-tmp 253:2 0 1G 0 lvm /tmp
sdb 8:16 0 3.7T 0 disk
比如我知道我有一块4T硬盘没有挂载(由于计算问题,显示肯定没那么多,比如我示例只显示3.7T)那么我找到对应量的硬盘name,如示例的sdb,那么我们的硬盘名称就是/dev/sdb,也就是加一个/dev/前缀。
创建分区
使用SSH客户端登录服务器,运行命令:
#开始挂载,后面为未挂载硬盘名称
parted /dev/sdb
#创建创建磁盘标签,可能会有个提示,你输入Yes确定即可
mklabel gpt
#创建整个分区
mkpart primary 0% 100%
#退出
q
#大致操作日志如下,仅供参考
[root@s196176 ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost.
Do you want to continue?
Yes/No? Yes
(parted) mkpart primary 0% 100%
(parted) q
Information: You may need to update /etc/fstab.
完成分区后,继续使用命令来查看分区名称:
lsblk
#输出信息如下
[root@s196176 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 447.1G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 446.1G 0 part
├─vg-root 253:0 0 437.6G 0 lvm /
├─vg-swap 253:1 0 7.5G 0 lvm [SWAP]
└─vg-tmp 253:2 0 1G 0 lvm /tmp
sdb 8:16 0 3.7T 0 disk
└─sdb1 8:17 0 3.7T 0 part
这次比之前多了个sdb1分区,那么我们的分区名称叫/dev/sdb1。
格式化分区,挂载分区
先格式化分区,使用命令:
#后面为分区名称,运行完等待格式化完毕
mkfs.ext4 /dev/sdb1
新建挂载目录,使用命令:
#后面为目录名称,自行修改
mkdir /data
开始挂载分区,使用命令:
#后面2个分辨是,分区名称,挂载目录,请根据上面操作的实际情况修改
mount /dev/sdb1 /data
查看挂载是否成功,使用命令:
df -h
#输出信息大致如下,Size为容量
[root@s196176 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.4G 0 7.4G 0% /dev
tmpfs 7.4G 8.7M 7.4G 1% /run
/dev/mapper/vg-root 431G 1.3G 408G 1% /
/dev/sda2 1008M 119M 839M 13% /boot
/dev/mapper/vg-tmp 976M 2.6M 907M 1% /tmp
/dev/sdb1 3.6T 89M 3.4T 1% /data
如果我们看到了挂载目录,及对应的容量没问题,那么就挂载成功了。
设置开机自动挂载
我们挂载后,需要设置开机自启,这样重启动服务器后会自动挂载。
查看分区的UUID,使用命令:
#后面为分区名称
blkid /dev/sdb1
#输出信息如下,即分区UUID为b82b0f79-2198-4c8c-a183-acd62sg5d832
/dev/sdb1: UUID="b82b0f79-2198-4c8c-a183-acd62sg5d832" TYPE="ext4" PARTLABEL="primary" PARTUUID="29a545e6-2a67-463d-bb3e-3127fghtccaf"
设置开机自启,使用命令:
#b82b0f79-2198-4c8c-a183-acd62sg5d832 /data分别为分区UUID,挂载目录,先修改好下面相关信息,再一起复制到ssh客户端运行
echo 'UUID=b82b0f79-2198-4c8c-a183-acd62sg5d832 /data ext4 defaults 0 0' >>/etc/fstab
这个步骤一点要操作正确,不然到时候重启动后,可能会开不了机。
最后在检查下配置文件,使用命令:
mount -a
如果不报错,就可以使用reboot命令重启服务器了。重启后在使用df -h命令查看下是否挂载成功。
组raid0教程
提示:仅做笔记,即合并多个空闲硬盘并挂载,没经验的勿操作
以下命令均使用SSH操作:
#查看硬盘及分区
lsblk
#创建RAID 0阵列,后面为硬盘数量和名称
mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sd{a,b}
#格式化分区
mkfs.ext4 /dev/md0
#新建挂载目录
mkdir /data
#挂载分区
mount /dev/md0 /data
#查看分区uuid
blkid /dev/md0
#设置开机自启
echo 'UUID=b82b0f79-2198-4c8c-a183-acd62sg5d832 /data ext4 defaults 0 0' >>/etc/fstab
以上就是如何挂载硬盘的教程,如有问题,请自行百度。
Linux快速安装Docker
首先,使用SSH客户端登录到您得服务器,并以root用户身份登录。或具有sudo权限的用户。执行以下命令:
#运行安装脚本
curl -sSL https://get.docker.com/ | sh
#启动并设置开机自启
systemctl start docker
systemctl enable docker
#验证是否安装成功
docker --version
最后输出类似Docker version 24.0.5, build ced0996的信息即为安装成功!
MongoDB管理面板adminMongo安装教程
由于EFV使用的Mongdb数据库,该数据库对于很多人来说貌似比较陌生,特别是对于一些命令,所以这里推荐一个可以管理Mongdb的web管理可视化界面adminmongo,可以让我们很简单的对mongdb转码数据库进行创建,编辑,修改,备份,而且还自带监控界面。
安装adminmongo
- 首先安装docker:
- 然后在SSH客户端使用命令:
#将以下命令一起复制粘贴,且第4行efvpasswd为面板访问密码,自行修改
docker run --restart=unless-stopped --name adminmongo -d \
--net=host \
-p 8001:8001 \
-e passwd=efvpasswd \
moerats/adminmongo
访问地址为:http://ip:8001,密码为efvpasswd或者你自己设置的其它密码。
如果装有宝塔面板,记得去宝塔左侧安全-放行防火墙端口8001。
没有安装宝塔面板,可以直接运行以下命令:
#CentOS 7+、AlmaLinux、Rocky Linux系统
firewall-cmd --zone=public --add-port=8001/tcp --permanent
firewall-cmd --reload
#Debian、Ubuntu系统
ufw allow 8001
使用步骤
先访问http://ip:8001,然后添加本地MongoDB数据库,名称随便填,地址填mongodb://127.0.0.1:27017。添加完成后,再点connect连接即可。
Linux使用Docker快速安装Qbittorrent
安装Qbittorrent
目前EFV已支持磁力下载功能,如果你觉得自带的满足不了你的需求,或者你想专门使用一个服务器用来下载磁力,或者存放EFV的视频做种资源,鉴于我的使用体验,就推荐一款Linux服务器中比较好用的bt下载程序qBittorrent。
首先安装Docker:
然后在SSH客户端使用命令:
#将以下命令一起复制粘贴,且/home/qbittorrent/downloads为下载目录,自行修改,且为绝对路径。
docker run --restart=unless-stopped --name qbittorrent -d \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e UMASK_SET=022 \
-e WEBUI_PORT=8080 \
-p 6881:6881 \
-p 6881:6881/udp \
-p 8080:8080 \
-v /home/qbittorrent/config:/config \
-v /home/qbittorrent/downloads:/downloads \
linuxserver/qbittorrent:4.5.4
安装完成后,相关信息如下:
qbittorrent管理面板地址:http://ip:8080
登录用户名:admin
登录密码:adminadmin
qbittorrent配置和下载目录:/home/qbittorrent
接下来需要开启相关使用端口,请运行以下命令:
#CentOS 7+、AlmaLinux、Rocky Linux系统
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=6881/tcp --permanent
firewall-cmd --zone=public --add-port=6881/udp --permanent
firewall-cmd --reload
##Debian、Ubuntu系统
ufw allow 6881
ufw allow 8080
有些服务商,比如阿里云、谷歌云,都还要开启安全组端口。
卸载Qbittorrent
#删掉容器
CONTAINERID=$(docker ps | grep linuxserver/qbittorrent | awk '{print $1}')
docker kill ${CONTAINERID}
docker rm ${CONTAINERID}
docker rmi $(docker images | grep linuxserver/qbittorrent | awk '{print $3}')
#删掉配置和下载文件夹
rm -rf /home/qbittorrent
以上就是如何安装Qbittorrent,如果你有更好的方法,欢迎留言交流。
404是网站必须设置的怎么设置?
404页面是网站必须设置
404页面是指用户在访问网站时,服务器无法找到请求的页面,返回的页面。404页面是网站必须设置的,因为它是用户在访问网站时遇到错误时看到的页面。告知用户该网页不存在或已被删除。
404页面设置方法
在网站根目录下创建一个名为404.html的文件。
在404.html文件中添加符合标准的404代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>404 Not Found</title>
</head>
<body>
<h1>404 Not Found</h1>
<p>Sorry, the page you are looking for could not be found.</p>
</body>
</html>
- 在服务器配置文件中添加404页面重定向规则
server {
listen 80;
server_name example.com;
root /var/www/html;
error_page 404 /404.html;
location = /404.html {
internal;
}
}
4 . 在Apache服务器配置文件中添加404页面重定向规则
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
ErrorDocument 404 /404.html
</VirtualHost>
- 在IIS服务器配置文件中添加404页面重定向规则
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/404.html" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
- 或是使用宝塔的朋友添加404页面重定向规则
使用宝塔网站设置的重定向功能,有个404跳转,按上图设置好即可。
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#HTTP_TO_HTTPS_START
404页面设置注意事项
404页面不要直接跳转到网站首页,这将导致首页不被收录。
404页面前边不要到主域名,否则返回的状态码是302,而不是404。
404页面要简洁明了,不要有太多的广告和链接。
404页面要设置好SEO,方便搜索引擎收录。最好底部加入导航尤其是网站地图。
404页面要设置好缓存,避免每次访问都重新生成页面。
404页面要设置好访问权限,防止恶意访问。
总结:404页面是网站必须设置的,因为它是用户在访问网站时遇到错误时看到的页面。设置404页面时要注意不要直接跳转到网站首页,要简洁明了,设置好SEO,设置好缓存,设置好访问权限。
linux使用Caddy配置反向代理
caddy是一个轻量级的反向代理服务器,它支持HTTP、HTTPS、WebSocket、gRPC等协议,并且支持自动HTTPS证书。下面我将介绍如何使用Caddy配置反向代理。
安装Caddy
在linux服务器上安装Caddy非常简单,只需要执行以下命令即可:
mkdir -p /usr/local/caddy
wget -N --no-check-certificate https://file.efvcms.com/moeapp/caddy/caddy -P /usr/local/caddy
wget -N --no-check-certificate https://file.efvcms.com/moeapp/caddy/caddy.service -P /etc/systemd/system
chmod +x /usr/local/caddy/caddy
配置Caddy
首先配置域名,该配置会自动签发ssl证书,并且自动续期。请提前解析域名的A记录到服务器IP。然后使用SSH客户端使用一下命令:
#以下全部内容是一个整体,请修改域名和需要反代的地址127.0.0.1:3000,然后一起复制到SSH运行!
echo "www.efvcms.com {
gzip
tls admin@efvtest.com
proxy / http://127.0.0.1:3000 {
transparent
header_upstream Host {host}
}
}" > /usr/local/caddy/Caddyfile
开启相关防火墙
由于有些服务器会关闭80和443端口,所以需要开启防火墙,他们会影响到我们绑定的域名并申请SSL证书,请使用以下命令开启防火墙:
#CentOS 7+、AlmaLinux、Rocky Linux系统
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
#Debian、Ubuntu系统
ufw allow 80
ufw allow 443
启动并设置开机自启
systemctl start caddy
systemctl enable caddy
测试
打开浏览器,输入域名,如果出现你反代的网站内容,那么恭喜你,配置成功!
Linux使用Nginx自建CDN服务
平时我们需要自己搭建使用nginx的CDN服务,既然是自建CDN,那么我们肯定需要支持各种协议,比如HTTP/3、WebSocket、gRPC、IPv6等,下面我们来看看如何使用Nginx搭建一个支持各种协议的CDN服务。
我们还需要准备一台网络计较好的服务器,最起码比要加速的网站的网络要好,不然加速效果不明显,甚至可能适得其反。以下是Nginx的安装步骤:
自建步骤
- 安装宝塔面板
这里分别提供国内和国际2个版本安装,区别是宝塔国内版需要强制登录宝塔账号,国际版不需要,可自行选择安装,使用SSH客户端登录服务器,输入以下命令安装:
#CentOS系统,国内版本
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
#CentOS系统,国际版本
yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh aapanel
#Debian系统,国内版本
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec
#Debian系统,国际版本
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh aapanel
#Ubuntu系统,国内版本
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
#Ubuntu系统,国际版本
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh aapanel
- 安装Nginx
登录宝塔面板,点击左侧软件商店,搜索Nginx,点击安装,等待安装完成。
- 绑定域名
先准备一个CDN域名,解析到服务器的A记录,然后点击左侧网站,点击添加站点,输入域名,选择Nginx,点击提交,等待创建完成。
- 配置Nginx
点击宝塔面板左侧⇒软件商店找到设置点击Nginx设置,点击配置文件,找到server标签,添加以下配置:
#在http{}里面加入以下代码
proxy_cache_path /www/wwwroot/www.efvcms.com levels=1:2 keys_zone=efv:500m inactive=1d max_size=50g;
- 主要参数
proxy_cache_path /www/wwwroot/www.efvcms.com 后面路径为缓存目录,可自行修改,比如你CDN域名根目录
keys_zone=efv:500m efv为缓存的名字,可不变;后面500m为内存缓存空间,自行根据内存大小适当进行修改
inactive=1d 为一定时间内没人访问的资源缓存清空时间,如1d,也就是1天没有被访问的内容自动清除,10天可设置为10d
max_size=50g 为最大缓存空间,可根据硬盘大小自行设置
如图所示:

接下来再点击域名右侧设置按钮,点击配置文件,加入以下代码:
location /
{
proxy_pass http://185.172.165.11:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_cache efv;
proxy_ignore_headers cache-control;
proxy_cache_key $host$uri$is_args$args;
add_header Nginx-Cache $upstream_cache_status;
proxy_cache_valid 200 304 30m;
proxy_cache_valid 301 24h;
proxy_cache_valid 500 502 503 504 0s;
proxy_cache_valid any 1s;
proxy_cache_min_uses 1;
expires 12h;
}
主要参数如下:
proxy_pass http://185.172.165.11:3000 后面地址为需要加速的地址,可直接修改为转码服务器的访问地址,如ip:3000
proxy_cache efv 后面的efv为之前设置的缓存名称,也就是直接引用该缓存名称的配置
如图所示:

然后删除配置文件里面的这几行代码,不然js、jpg等文件缓存不了,代码如下:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log off;
access_log /dev/null;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log off;
access_log /dev/null;
}
最后基本上配置好了,然后此时我们访问CDN域名后,数据会根据缓存配置,缓存到设置的缓存目录,注意如果这里不生效,记得点击宝塔面板左侧软件商店找到NGINX重启即可。
自建网络代理地址
如果你使用过翻墙软件,那么你应该知道,代理地址是翻墙软件的核心功能之一。代理地址就是指代理服务器在互联网上的地址,通过代理服务器,你可以访问到被墙的网站。那么,如何自建一个代理地址呢?
你也可以自己搭建一个代理服务器,首先买个网络好一点的VPS服务器,然后开始搭建自己的代理服务器。
安装Docker
#运行安装脚本
curl -sSL https://get.docker.com/ | sh
#启动并设置开机自启
systemctl start docker
systemctl enable docker
#验证是否安装成功
docker --version
- 输出类似Docker version 24.0.5, build ced0996的信息即为安装成功!
安装BBR网络加速
wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh
chmod 755 /opt/bbr.sh
/opt/bbr.sh
安装privoxy代理工具
#5432为代理的设置端口,可自行修改
docker run -d --restart=unless-stopped --name privoxy -p 5432:8118 vimagick/privoxy
开放代理端口5432
#CentOS 7+、AlmaLinux、Rocky Linux系统
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload
#Debian、Ubuntu系统
ufw allow 5432
已经安装宝塔的可以直接宝塔左侧安全里的端口开放,最后我们的代理地址为http://服务器ip:5432 ,在将代理地址填入FTP客户端,如果网络还是不行,可以尝试吧服务器删了,再创建其他地区的服务器重新安装。
MYSQL数据库定时删除N天前数据命令
MYSQL数据库定时删除N天前数据命令
- 不少小伙伴咨询mysql如何定时删除N天前数据的命令,下面就以umami统计程序来告诉大家怎么执行SQL命令。
delete from session where created_at<=now()-INTERVAL 4 day
以上就是定时删除N天数据的SQL命令。
wordpress更换文章里的图片地址教程
wordpress需要批量更换图片的域名地址
近些年wordpress被广大网友认可,都用来建立一些常用的个人博客或是新闻博客之类的网站,也有不少网友是采集回来的数据,数据多,图片地址因为某些特殊情况被屏蔽或是失效之类的,就需要批量更换图片的域名地址,下面就简单的一句SQL命令实现更换文章内的所有图片域名地址。
SQL命令
- 进到宝塔面板安装的phpmyadmin点击你的数据库,然后在点开SQL,在里面把一下代码复制粘贴,点右下角的执行即可.
UPDATE wp_posts SET post_content = REPLACE( post_content, '需要更换的域名', '新域名' );
- 说明:上面代码中的wp_posts是wordpress默认的文章表前缀,如果你在安装wordpress时更改了表前缀,请把wp_posts改成你自己的表前缀_posts。
- 例子:假如你要把文章里所有的图片域名从www.oldsite.com更换成www.newsite.com.
Minio服务端一键安装及使用
安装Minio服务端
系统要求:CentOS 8+,Debian 10+,Ubuntu 20.04+,AlmaLinux 8+,Rocky Linux 8+。
使用SSH客户端,比如Xshell软件,登录存储服务器,再使用命令:
#后面的/home为文件存储路径,自行修改
curl -sL https://file.efvcms.com/moeapp/shell/nimio_install.sh | bash -s /home
安装完成后,会给你同步端配置信息和Web管理面板信息信息,面板默认访问地址为ip:9001,如果打不开,请检查下防火墙端口,并手动开启9000和9001端口。
创建存储桶
我们登录管理员面板,通过左侧的Buckets,再点击Create Bucket,创建一个桶。

minio_zx.png
其他说明
关于存储路径说明
如果我们设置存储目录为/home,且桶名称为efvcms,那么我们同步过来的切片目录为/home/efvcms,即桶在存储目录下。
如何配置域名,从而读取到路径不变的切片
我们添加一个存储桶使用的域名,然后把同步过来的切片目录,如/home/efvcms设置为根目录就可以了。
建议在域名设置的配置文件项,类似root /home/efvcms;下一行添加该代码add_header Access-Control-Allow-Origin *;最后面;别漏掉了,可防止出现跨域问题。
如何修改存储目录
如果我们想修改存储目录,则需要先修改文件/etc/systemd/system/minios.service,可在SSH客户端使用命令:
vi /etc/systemd/system/minios.service
首先按一下键盘的i键,进入编辑模式,这时候可以使用键盘进行编辑,编辑代码详解如下
[Unit]
Description=minio server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/minio server "/home" --console-address ":9001"
Environment=MINIO_ROOT_USER=89031270c3 MINIO_ROOT_PASSWORD=b657ae64b3
PIDFile=/var/run/minio.pid
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
/home为存储目录,且为绝对路径,自行修改,编辑好了后,按一下键盘的esc键退出编辑模式,接下来输入英文:wq,enter保存退出。
最后如果你不是很会命令行,依然不会修改,可以使用FTP软件或宝塔文件管理,找到该文件后手动修改即可。
最后修改好了重启,使用命令:
systemctl daemon-reload
systemctl restart minios
#查看状态,如显示Active: active (running),则修改成功
systemctl status minios
接下来重新登录管理面板,创建一个新桶或原桶名称,重新在同步端配置使用。
Mongodb备份及还原数据库
EFV使用的是Mongodb数据库,且默认的数据库名,数据库用户名和密码均为ffmpeg,如果你没修改过这些信息,可以直接复制粘贴。
备份数据库
首先使用SSH客户端,比如Xshell软件,登录要备份的切片服务器,使用命令:
mongodump -h 127.0.0.1 -u ffmpeg -p ffmpeg -d ffmpeg -o /root --authenticationDatabase ffmpeg
-d是选择要备份的数据库,-u是用户名,-p是密码,–authenticationDatabasehou后面也是要备份的数据库。
备份好了后,数据库备份文件路径为/root/ffmpeg。
还原数据库
还原之前,需清空需要还原的服务器数据库,防止数据有冲突的情况。
使用SSH客户端,比如Xshell软件,登录要还原的切片服务器,使用命令:
#ffmpeg为数据库名,将下面代码一起复制到ssh运行
mongo ffmpeg --eval '
db.getCollectionNames().forEach(function(collection) {
if (!collection.startsWith("system.")) {
db[collection].drop();
print("已删除: " + collection);
}
})
'
我们需要将数据库备份文件夹放到需要还原的服务器目录,如ffmpeg备份文件夹放到/root目录
清空数据库后,使用命令:
#/root/ffmpeg为数据表备份存放文件夹,自行修改
mongorestore -h 127.0.0.1 -u ffmpeg -p ffmpeg -d ffmpeg /root/ffmpeg --authenticationDatabase ffmpeg
-d是选择要合并的数据库,-u是用户名,-p是密码,–authenticationDatabasehou后面也是要还原的数据库。
Mongodb开放外网访问及配置管理员
非必要情况下不要随便开放数据库的外网访问,不然请严格按照下面要求开放。
设置Mongodb管理员
首先使用SSH客户端,比如Xshell软件,登录服务器,使用命令:
mongo
use admin
db.createUser({user:"adminuser",pwd:"adminpasswd",roles: [{ role: "root", db: "admin" }]})
adminuser和adminpasswd分别是管理员账户和密码,使用命令前自行修改
配置外网和认证
编辑数据库配置文件,脚本安装的默认为/usr/local/mongodb/mongod.conf,需要编辑的配置如下:
storage:
dbPath: /usr/local/mongodb/data
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /usr/local/mongodb/mongod.log
net:
port: 27017
bindIp: 0.0.0.0
security:
authorization: enabled
这里你可以通过ftp客户端、宝塔文件管理,或者vi/nano命令行修改该文件。
这里也提供一个一键修改命令,在SSH客户端运行,使用命令:
#将下面全部一起复制,粘贴到ssh客户端运行即可
cat > /usr/local/mongodb/mongod.conf <<EOF
storage:
dbPath: /usr/local/mongodb/data
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /usr/local/mongodb/mongod.log
net:
port: 27017
bindIp: 0.0.0.0
security:
authorization: enabled
EOF
然后重启mongodb生效,使用命令:
systemctl restart mongod
最后再开放27017端口即可。
重启SSH服务的方法
SSH是一种加密网络协议,用于安全地连接远程服务器。在进行云服务器管理的过程中,可能会出现SSH服务无法连接的情况,这时就需要重启SSH服务.本文将为你介绍多种方法来重启SSH服务。

- 使用命令行重启SSH服务 在大多数Linux发行版中,可以使用以下命令来重启SSH服务:
sudo service ssh restart
- 这条命令会重启SSH服务,其中sudo表示以管理员(超级用户)身份运行该命令,service是Ubuntu操作系统下的一个服务管理工具,ssh是需要被重启的服务名称,restart是重启服务的命令。 如果你使用的是CentOS操作系统,则可以输入以下命令:
sudo systemctl restart sshd
这条命令与Ubuntu下的命令类似,只是服务名变成了sshd。
- 通过SSH客户端重启SSH服务
如果SSH服务无法连接,我们可以使用SSH客户端来重启SSH服务。在Windows系统中,我们可以使用PuTTY软件,Mac和Linux操作系统中则可以使用终端命令行工具。
首先,打开SSH客户端,并连接到需要被重启的服务器。然后,输入管理员账号和密码进行登录。登录成功后,输入以下命令:
sudo service ssh restart
或者
执行该命令后,SSH服务将会被重启。 4. 三、更换SSH服务端口
如果你的服务器一直无法连接SSH服务,可能是因为SSH服务运行的端口被占用了。此时,你可以更换SSH服务端口,让SSH服务在一个新端口上运行。
打开终端窗口,并编辑SSH服务配置文件。在Ubuntu系统中,该文件路径为/etc/ssh/sshd_config,CentOS系统中为/etc/ssh/sshd_config。 使用以下命令打开配置文件:
sudo vim /etc/ssh/sshd_config
找到以下行:
```将其修改为:
```bashPort 2222
将22改为一个未被占用的端口号(例如:2222),然后保存并退出文件。重启SSH服务,使配置文件生效:
sudo service ssh restart
或者
此后,你的SSH服务将会在新端口上运行。 5. 检查SSH日志文件
如果你仍然无法连接SSH服务,你可以检查SSH日志文件,以了解SSH服务运行、连接的详细信息。在Ubuntu系统中,SSH日志文件路径为/var/log/auth.log;CentOS系统中为/var/log/secure。
打开终端窗口,并输入以下命令查看日志文件:
sudo cat /var/log/auth.log
或者
sudo cat /var/log/secure
通过查看日志文件,你可以发现SSH服务是否存在错误或异常情况,并做出相应的调整。
总结
SSH服务是云服务器管理中不可或缺的一部分,当遇到SSH服务无法连接的情况时,可以通过命令行、SSH客户端、更换端口号、检查日志文件等多种方式进行重启或调整 。希望本文能帮助你解决SSH服务无法连接的问题,顺利管理你的云服务器。