分类 默认分类 下的文章
esxi7.0 重启服务
我想问只要重启esxi主机后
浏览器登录主机就会出现503 Service Unavailable。。。。
要每次ssh进去操作/etc/init.d/hostd start
那就可以进入界面
293TV
Ventoy U盘装机神器
Ventoy官网
Ventoy是一个制作可启动U盘的开源工具。有了Ventoy你就无需反复地格式化U盘,你只需要把ISO/WIM/IMG/EFI文件拷贝到U盘里面就可以启动了,无需其他操作。 你可以一次性拷贝很多个不同类型的ISO文件,在启动时Ventoy会显示一个菜单来选择(截图)。
无差异支持Legacy BIOS和UEFI模式。支持大部分常见操作系统 (Windows/WinPE/Linux/Unix/VMware/Xen ...)
Aria2c配置文件解析
全局设置 ## ============================================================
日志
log-level=warn
log=/PATH/.aria2/aria2.log
后台运行
daemon=true
下载位置, 默认: 当前启动位置
dir=/PATH/Downloads
从会话文件中读取下载任务
input-file=/PATH/.aria2/aria2.session
在Aria2退出时保存错误/未完成
的下载任务到会话文件
save-session=/PATH/.aria2/aria2.session
定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=30
断点续传
continue=true
启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
预分配所需时间: none < falloc ? trunc < prealloc
falloc和trunc则需要文件系统和内核支持
NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=none
客户端伪装
user-agent=netdisk;5.2.6;PC;PC-Windows;6.2.9200;WindowsBaiduYunGuanJia
referer=http://pan.baidu.com/disk/home
禁用IPv6, 默认:false
disable-ipv6=true
其他
always-resume=true
check-integrity=true
下载位置 ## ============================================================
最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=5
同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=5
最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
单个任务最大线程数, 添加时可指定, 默认:5
split=5
整体下载速度限制, 运行时可修改, 默认:0
max-overall-download-limit=0
单个任务下载速度限制, 默认:0
max-download-limit=0
整体上传速度限制, 运行时可修改, 默认:0
max-overall-upload-limit=0
单个任务上传速度限制, 默认:0
max-upload-limit=0
RPC设置 ## ============================================================
启用RPC, 默认:false
enable-rpc=true
允许所有来源, 默认:false
rpc-allow-origin-all=true
允许非外部访问, 默认:false
rpc-listen-all=true
事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
event-poll=select
RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800
设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=
是否启用 RPC 服务的 SSL/TLS 加密,
启用加密后 RPC 服务需要使用 https 或者 wss 协议连接
rpc-secure=true
在 RPC 服务中启用 SSL/TLS 加密时的证书文件,
使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥
rpc-certificate=/path/to/certificate.pem
在 RPC 服务中启用 SSL/TLS 加密时的私钥文件
rpc-private-key=/path/to/certificate.key
BT/PT下载相关 ## ============================================================
当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
follow-torrent=true
BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
单个种子最大连接数, 默认:55
bt-max-peers=55
trackers 列表
bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.opentrackr.org:1337/announce,udp://tracker.leechers-paradise.org:6969/announce,udp://p4p.arenabg.ch:1337/announce,http://p4p.arenabg.com:1337/announce,udp://9.rarbg.to:2710/announce,udp://9.rarbg.me:2710/announce,udp://exodus.desync.com:6969/announce,udp://tracker.cyberia.is:6969/announce,udp://open.stealth.si:80/announce,udp://tracker.tiny-vps.com:6969/announce,udp://retracker.lanta-net.ru:2710/announce,udp://tracker.torrent.eu.org:451/announce,udp://tracker3.itzmx.com:6961/announce,udp://tracker.moeking.me:6969/announce,http://tracker4.itzmx.com:2710/announce,http://tracker1.itzmx.com:8080/announce,udp://ipv4.tracker.harry.lu:80/announce,udp://explodie.org:6969/announce,udp://bt2.archive.org:6969/announce
打开DHT功能, PT需要禁用, 默认:true
enable-dht=false
打开IPv6 DHT功能, PT需要禁用
enable-dht6=false
DHT网络监听端口, 默认:6881-6999
dht-listen-port=6994
dht-file-path=/var/opt/aria2/dht.dat
dht-file-path6=/var/opt/aria2/dht6.dat
本地节点查找, PT需要禁用, 默认:false
bt-enable-lpd=false
种子交换, PT需要禁用, 默认:true
enable-peer-exchange=true
每个种子限速, 对少种的PT很有用, 默认:50K
bt-request-peer-speed-limit=50K
设置 peer id 前缀
peer-id-prefix=-TR2770-
当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0
强制保存会话, 即使任务已经完成, 默认:false
较新的版本开启后会在任务完成后依然保留.aria2文件
force-save=false
BT校验相关, 默认:true
bt-hash-check-seed=true
继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true
bt-max-open-files=16
CentOS使用Rclone挂载OneDrive
httpd apache 虚拟主机 重定向 设置
ServerName msdgq.com
DocumentRoot "/var/www/html"
Redirect 301 / "https://www.msdgq.com:4433/blog/"
ServerName dgq.msdgq.com
DocumentRoot "/var/www/html"
acme.sh使用教程
参考:https://iclart.com/archives/391
安装
Pre-1.前言
ACME.sh是一个基于ACME协议的证书小工具,可以很方便的获取、续费基于ACME协议CA的证书
Part-1. ACME.sh的安装
ACME.sh的安装非常简单,仅需一个命令就可以搞定,该命令可以更新acme.sh
curl https://get.acme.sh | sh
由于部分过于纯净的系统没有cron,在安装ACME之前应该先运行此命令
sudo yum install cron* -y
会安装在 ~/.acme.sh/ 目录下,以后生成的证书也会在这里面,按照域名为文件夹安置。
理论上会自动添加一个 acme.sh 别名,但有时候并不会生成,需要手动执行以下命令:
source ~/.bashrc
使用dns api的模式进行证书申请
在阿里云获取AccessKey ID和AccessKey Secret
https://usercenter.console.aliyun.com/#/manage/ak
查看一下
export Ali_Key="key值"
export Ali_Secret="key Secret"
首次签发证书,下次就不用再次执行这个命令了
acme.sh --issue --dns dns_ali -d dgq.msdgq.com --force
安装证书:
运行如下命令即可自动安装(此命令会被ACME记录下来,当证书续期/更新时会自动执行)
acme.sh --install-cert -d dgq.msdgq.com \
--cert-file /etc/pki/tls/certs/dgq.msdgq.com.key \
--key-file /etc/pki/tls/private/dgq.msdgq.com.pem \
--fullchain-file /etc/pki/tls/certs/dgq.msdgq.com.cer \
--reloadcmd "systemctl reload httpd"
自动更新证书
Let's 的证书有效期为90天
acme升级
目前由于 acme 协议和 Let`s CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.
升级 acme.sh 到最新版 :
acme.sh --upgrade
如果你不想手动升级, 可以开启自动升级:
acme.sh --upgrade --auto-upgrade
之后, acme.sh 就会自动保持更新了.
你也可以随时关闭自动更新:
acme.sh --upgrade --auto-upgrade 0
Part-9. ACME.sh支持的其他命令/参数
ACME.sh命令构成
acme.sh [命令] [参数]
ACME.sh命令(只说常用的)
--uninstall
卸载ACME.sh
--upgrade
升级ACME.sh
--issue
签发新的证书
--install-cert
讲过了,参照上文
--renew, -r -d 域名
讲过了,参照上文
--renew-all
续期全部证书
--revoke
吊销证书
--remove
从ACME.sh中删除一张证书(记得先吊销)
--list
列出ACME.sh中的所有证书
--toPkcs
转换到pckcs12格式(pfx/p12),可以用于IIS
ACME.sh参数
--keylength, -k
指定密钥的长度,例如-k 2048,如需签发ECC算法密钥的证书,使用-k ec-256或-k ec-384即可
--ocsp-must-staple, --ocsp
签发带有OCSP Must Staple拓展的证书,先挖坑,过后再填
--server
指定ACME服务器,默认为Let's Encrypt,如果需要签发其他CA的证书(比如Buypass),可使用此参数指定,for example
acme.sh --issue -d example.com -d www.example.com --webroot /path/to/your/webroot --server https://api.buypass.com/acme/directory
每月自动更新证书
vi /etc/crontab
00 7 1 "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
免费SSL证书Let's Encrypt(certbot)安装使用教程
免费SSL证书Let's Encrypt(certbot)安装使用教程
安装方法:
如果是CentOS 6、7,先执行:yum install epel-release
cd /root/
wget https://dl.eff.org/certbot-auto --no-check-certificate
chmod +x ./certbot-auto
./certbot-auto -n
./certbot-auto -n只是用来安装依赖包的,也可以跳过直接到下面的生成证书的步骤,国内VPS或服务器上使用的话建议先修改为国内的pip源。
修改pip源为国内的:
mkdir ~/.pip
cat > ~/.pip/pip.conf <<EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=https://pypi.tuna.tsinghua.edu.cn
EOF
单域名生成证书:
./certbot-auto certonly --email youemail@vpser.net --agree-tos --no-eff-email --webroot -w /home/wwwroot/www.vpser.net -d www.vpser.net
多域名单目录生成单证书:(即一个网站多个域名使用同一个证书)
./certbot-auto certonly --email youemail@vpser.net --agree-tos --no-eff-email --webroot -w /home/wwwroot/www.vpser.net -d www.vpser.net -d bbs.vpser.net
多域名多目录生成一个证书:(即一次生成多个域名的一个证书)
/certbot-auto certonly --email youemail@vpser.net --agree-tos --no-eff-email --webroot -w /home/wwwroot/www.vpser.net -d www.vpser.net -d bbs.vpser.net -w /home/wwwroot/lnmp.org -d www.lnmp.org -d lnmp.org
就是生成成功。
生成的证书会存在:/etc/letsencrypt/live/www.vpser.net/ 目录下
证书续期
cerrbot的续期比原来的更加简单,因为证书只有90天,所以建议使用crontab进行自动续期:
crontab 里加上如下规则:0 3 /5 * /root/certbot-auto renew --disable-hook-validation --renew-hook "/etc/init.d/nginx reload" 这样每5天就会执行一次所有域名的续期操作。当然时间也可以自行进行调整,建议别太频繁,因为他们都有请求次数的限制,如果需要强制更新可以在前面命令上加上 --force-renew 参数。
Docker容器技术
第1章 Docker容器技术
1.1 容器技术核心概念
抓住两点核心概念,轻松理解容器技术
容器化技术是一种 划分硬件资源 的技术。
将真实机的硬件资源,按照工程需要,划分成小块,形成容器
一个容器,就是一个主机
具备CPU、内存、磁盘、网卡等硬件资源,具有一台主机的完整机能
容器技术有几项重大优势:
- 安全性:约束了风险范围
- 隔离性:进程与文件隔离,容易解决批量进程端口冲突问题
- 低成本:容器按需分配硬件资源,资源冗余少,无需购置额外硬件
- 易移植:容器中的软件不直接依赖真实机系统和CPU架构,一次编译,到处运行
1.2 Docker安装部署
Docker官网: https://www.docker.com/
Docker官方文档: https://docs.docker.com/engine/install/centos/
实训:安装Docker
#安装yum管理工具
yum install -y yum-utils
#设置docker官方软件仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#安装docker相关软件
yum install docker-ce docker-ce-cli containerd.io
#centos8需要安装依赖:
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
#安装docker相关软件
yum install docker-ce docker-ce-cli
#查看docker版本 验证安装
docker -v
#启动docker服务
systemctl start docker
#设置随机启动服务
systemctl enable docker
实训:优化Docker镜像代理
#查看docker信息
docker info
#更改docker**镜像保存目录**为/home/docker,通过**代理**拉取镜像
vim /etc/docker/daemon.json
在daemon.json文件中输入以下代理配置
{
"graph": "/home/docker"
"registry-mirrors":["https://obou6wyb.mirror.aliyuncs.com"]
}
加载代理配置
#建立docker代理文件
mkdir /etc/systemd/system/docker.service.d
vi /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://ip:port/"
#加载代理配置
systemctl daemon-reload
#重启docker服务
systemctl restart docker
#查看docker信息 验证配置
docker info
1.3 镜像管理
镜像的核心概念
- 容器技术募集硬件资源的目的,是为了运行软件,提供服务
镜像是容器中运行软件的集合
Docker镜像仓库: https://hub.docker.com/
镜像管理命令主要有:
#搜索镜像 docker search [keyword]
docker search httpd
#拉取镜像 docker pull [image]
docker pull httpd
docker pull centos/httpd
#查看本地镜像
docker images
#高阶技巧 grep指令+regex正则 匹配特定镜像
docker images | grep '正则表达式' | awk '{print $3}'
1.4 容器管理
有了镜像后,容器才能运行
容器管理命令主要有:
#创建容器 容器的作用是运行镜像 docker run -it [image]
docker run -it httpd
#退出容器 组合键 ctrl+c
#进入容器
docker exec -it 复制容器名称 bash
#查看容器
docker ps -a
#启动容器 docker start [containerID/containerName]
docker rm 复制容器名称
#停止容器 docker stop [containerID/containerName]
docker stop 复制容器名称
#删除容器 docker rm [containerID/containerName]
docker rm 复制容器名称
#高阶技巧 批量删除容器
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
1.5 容器优化
目前创建的容器还有几个问题:
- 容器创建后,会自动进入容器内部,没有后台运行
容器名称随机生成,不利于运维管理
为了解决上述问题,需要掌握以下参数docker run -d 容器后台运行 --name 容器命名 #优化httpd服务容器 docker run -d --name webserver httpd #方便容器管理 docker stop webserver docker rm webserver
1.6 端口映射
为了将容器服务对外暴露,应当把容器服务监听端口映射到真实机端口,让外界可以访问
docker run
-p 真实机端口:容器服务端口
#端口映射
docker run -d --name webserver -p 8080:80 centos/httpd
服务的访问方式有三种:
- 容器ip地址:容器服务端口
- localhost:真实机端口 (本地访问)
真实机ip地址:真实机端口 (外部访问)
创建与主机通网段的网络
docker network create -d macvlan --subnet=192.168.10.0/24 --gateway=192.168.10.1 -o parent=enp2s0 macnet
docker run -it --name vm2 --network=macnet --ip=192.168.10.3 ubuntu:dgq bash
1.7 文件映射
容器服务重运算,轻存储。容器本身不宜存放大量数据
数据、网页等文件应当存储在真实机磁盘中,不会随着容器删除而丢失
将存储在真实机中的文件映射到容器中,容器服务可以使用这些文件
docker run
-v 真实机目录:容器目录
#文件映射
docker run -d --name webserver -p 8080:80 -v /root/html:/var/www/html centos/httpd
1.8 docker-compose介绍
docker-compose是docker官方提供的容器集群管理工具
docker-compose官网: https://docs.docker.com/compose/install/
docker-compose采用配置文件的方式管理工程,有以下优点:
- 把临时性的搭建工程,转变为有文件记载的工程,利于维护
把多步骤逐个搭建,转变为一次性批量搭建,效率高
1.9 docker-compose安装
#下载docker-compose源码
#curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
或者
#curl -L "http://dgq.msdgq.com/down/docker-compose" -o /usr/local/bin/docker-compose
#添加可执行权限
chmod +x /usr/local/bin/docker-compose
#查看docker-compose版本 验证安装
docker-compose version
1.10 docker-compose使用
docker-compose的使用重点在于配置文件的编写,以下为主要配置项:
一级配置 | 二级配置 | 配置作用与含义 |
---|---|---|
version | / | 版本声明 |
services | container_name | 容器名称 |
image | 所用镜像 | |
volumes | 数据卷映射 | |
ports | 端口号映射 | |
environment | 环境变量设置 | |
working_directory | 工作目录设置 | |
command | 启动执行命令 |
编写一个web服务容器配置
version: "2"
services:
webserver1:
container_name: "webserver1"
image: "centos/httpd"
volumes:
- /root/html:/var/www/html
ports:
- 8080:80
容器配置编写完成后,可通过docker-compose指令进行批量管理:
[root@localhost ~]# docker-compose -h
Define and run multi-container applications with Docker.
Options:
-f, --file FILE Specify an alternate compose file
(default: docker-compose.yml)
#查看docker-compose指令帮助可知:
##这是一个多容器集群管理工具
##默认配置文件名为docker-compose.yml
#启动集群
docker-compose up -d
docker-compose -f 配置文件路径 up -d
#关闭集群
docker-compose down -d
实训:搭建web服务容器集群
编写docker-compose.yaml文件,定义多个web服务
version: "2"
services:
web_server1:
container_name: web_server1
image: centos/httpd
ports:
- 80:80
volumes:
- /root/html:/var/www/html
web_server2:
container_name: web_server2
image: httpd
ports:
- 8080:80
volumes:
- /root/html:/usr/local/apache2/htdocs
完成后,在配置文件所在目录,执行docker-compose up -d指令启动容器
#清除多余容器
docker rm $(docker stop $(docker ps -aq))
#以下为界面显示内容,请勿直接复制
[root@localhost deploy]# pwd
/root/deploy
[root@localhost deploy]# ll
总用量 4
-rw-r--r-- 1 root root 318 6月 17 13:17 docker-compose.yaml
[root@localhost deploy]# docker-compose up -d
Creating web_server2 ... done
Creating web_server1 ... done
[root@localhost deploy]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b861b14d5b41 centos/httpd "/run-httpd.sh" 7 seconds ago Up 6 seconds 0.0.0.0:80->80/tcp web_server1
fe5b9b7a173b httpd "httpd-foreground" 7 seconds ago Up 6 seconds 0.0.0.0:8080->80/tcp web_server2