Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Recent Comments
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
官方GITHUB上面有密码重置的方法:https://github.com/janeczku/calibre-web/wiki/Command-Line-Interface#command-line-options
但是我按照步骤操作时,密码更改没生效
python3 cps.py –s admin:password
后来去github搜了下issue,发现是新版本需要指定数据库的位置,因为把命令行改为如下之后,成功了,也就是加上-p指定db的位置
python3 cps.py –p /config/app.db –s admin:password
我的系统是centos7.6,安装php8.3时,先直接yum remove php* 移除原有的php组件,然后按照以下攻略安装当前最新的php8.3版本
https://medium.com/@nothanjack/mastering-the-installation-of-php-8-3-on-centos-7-easy-steps-1118ed651522
我把php8.3所需的扩展组件汇总,你可以直接yum install -y,当然你得先把仓库安装好
sudo yum install epel-release
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
然后 yun install以下
php83 php-bcmath php83-php-bcmath php83-php-cli php83-php-common php83-php-devel php83-php-fpm php83-php-gd php83-php-gmp php83-php-intl php83-php-mbstring php83-php-mysqlnd php83-php-opcache php83-php-pdo php83-php-pdo-dblib php83-php-pecl-apcu php83-php-pecl-apcu-devel php83-php-pecl-igbinary php83-php-pecl-imagick-im6 php83-php-pecl-msgpack php83-php-pecl-redis6 php83-php-pecl-zip php83-php-process php83-php-sodium php83-php-xml
使用环境 centos 8 LNMP wordpress
先说结论:系统重启后没有关闭selinux
因为维护主机,所以重启了一下虚拟机,结果wp就没法正常访问了,一直提示数据库连接异常。在排查了数据库和nginx无果之后,想到了去系统的message查下报错信息。果然发现了端倪
Mar 7 19:45:14 host setroubleshoot[2219]: SELinux is preventing php-fpm from name_connect access on the tcp_socket port 3306.#012#012***** Plugin catchall_boolean (47.5 confidence) suggests ******************#012#012If you want to allow httpd to can network connect#012Then you must tell SELinux about this by enabling the 'httpd_can_network_connect' boolean.#012#012Do#012setsebool -P httpd_can_network_connect 1#012#012***** Plugin catchall_boolean (47.5 confidence) suggests ******************#012#012If you want to allow httpd to can network connect db#012Then you must tell SELinux about this by enabling the 'httpd_can_network_connect_db' boolean.#012#012Do#012setsebool -P httpd_can_network_connect_db 1#012#012***** Plugin catchall (6.38 confidence) suggests **************************#012#012If you believe that php-fpm should be allowed name_connect access on the port 3306 tcp_socket by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm#012# semodule -X 300 -i my-phpfpm.pp#012
这就很明显提示selinux阻止了php-fpm建立的mysql连接。关闭selinux之后一切正常。
转载自https://note.qidong.name/2020/05/docker-proxy/
有时因为网络原因,比如公司NAT,或其它啥的,需要使用代理。 Docker的代理配置,略显复杂,因为有三种场景。 但基本原理都是一致的,都是利用Linux的http_proxy等环境变量。
在执行docker pull时,是由守护进程dockerd来执行。 因此,代理需要配在dockerd的环境中。 而这个环境,则是受systemd所管控,因此实际是systemd的配置。
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/proxy.conf
在这个proxy.conf文件(可以是任意*.conf的形式)中,添加以下内容:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
其中,proxy.example.com:8080要换成可用的免密代理。 通常使用cntlm在本机自建免密代理,去对接公司的代理。 可参考《Linux下安装配置Cntlm代理》。
在容器运行阶段,如果需要代理上网,则需要配置~/.docker/config.json。 以下配置,只在Docker 17.07及以上版本生效。
{
"proxies":
{
"default":
{
"httpProxy": "http://proxy.example.com:8080",
"httpsProxy": "http://proxy.example.com:8080",
"noProxy": "localhost,127.0.0.1,.example.com"
}
}
}
这个是用户级的配置,除了proxies,docker login等相关信息也会在其中。 而且还可以配置信息展示的格式、插件参数等。
此外,容器的网络代理,也可以直接在其运行时通过-e注入http_proxy等环境变量。 这两种方法分别适合不同场景。 config.json非常方便,默认在所有配置修改后启动的容器生效,适合个人开发环境。 在CI/CD的自动构建环境、或者实际上线运行的环境中,这种方法就不太合适,用-e注入这种显式配置会更好,减轻对构建、部署环境的依赖。 当然,在这些环境中,最好用良好的设计避免配置代理上网。
docker build代理虽然docker build的本质,也是启动一个容器,但是环境会略有不同,用户级配置无效。 在构建时,需要注入http_proxy等参数。
docker build . \
--build-arg "HTTP_PROXY=http://proxy.example.com:8080/" \
--build-arg "HTTPS_PROXY=http://proxy.example.com:8080/" \
--build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" \
-t your/image:tag
注意:无论是docker run还是docker build,默认是网络隔绝的。 如果代理使用的是localhost:3128这类,则会无效。 这类仅限本地的代理,必须加上--network host才能正常使用。 而一般则需要配置代理的外部IP,而且代理本身要开启gateway模式。
代理配置完成后,reboot重启当然可以生效,但不重启也行。
docker build代理是在执行前设置的,所以修改后,下次执行立即生效。 Container代理的修改也是立即生效的,但是只针对以后启动的Container,对已经启动的Container无效。
dockerd代理的修改比较特殊,它实际上是改systemd的配置,因此需要重载systemd并重启dockerd才能生效。
sudo systemctl daemon-reload
sudo systemctl restart docker
转载自https://www.unixso.com/NetWork/netstat.html
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
常见参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
状态列表:
LISTEN:侦听来自远方的TCP端口的连接请求
SYN-SENT:再发送连接请求后等待匹配的连接请求
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED:代表一个打开的连接
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:从远程TCP等待连接中断请求
CLOSE-WAIT:等待从本地用户发来的连接中断请求
CLOSING:等待远程TCP对连接中断的确认
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:没有任何连接状态
常用使用方法:
并发请求数及其TCP连接状态:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
显示当前所有活动的网络连接:
netstat -na
列出所有端口 (包括监听和未监听的)
netstat -a
只显示监听端口 netstat -l
netstat -l
只列出所有监听 tcp 端口 netstat -lt
netstat -lt
只列出所有监听 udp 端口 netstat -lu
netstat -lu
只列出所有监听 UNIX 端口 netstat -lx
netstat -lx
显示所有端口的统计信息 netstat -s
netstat -s
显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su
netstat -st
netstat -su
在 netstat 输出中显示 PID 和进程名称 netstat -p
netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。
netstat -pt
显示系统不支持的地址族 (Address Families)
netstat --verbose
显示核心路由信息 netstat -r
netstat -r
显示网络接口列表
netstat -i
显示出所有处于监听状态的应用程序及进程号和端口号:
netstat -aultnp
如果想对一个单一的进行查询,只需要在命令后面再加上“| grep $”。这里就用到了管道符,以及grep筛选命令,$代表参数,也就是你要查询的那个。
如要显示所有80端口的网络连接:
netstat -aultnp | grep 80
如果还想对返回的连接列表进行排序,这就要用到sort命令了,命令如下:
netstat -aultnp | grep :80 | sort
当然,如果还想进行统计的话,就可以再往后面加wc命令。如:
netstat -aultnp | grep :80 | wc -l
其实,要想监测出系统连接是否安全,要进行多状态的查询,以及要分析,总结,还有就是经验。总的下来,才可以判断出连接是否处于安全状态。
netstat -n -p|grep SYN_REC | wc -l
这个命令可以查找出当前服务器有多少个活动的 SYNC_REC 连接。正常来说这个值很小,最好小于5。 当有Dos攻击或者邮件炸弹的时候,这个值相当的高。尽管如此,这个值和系统有很大关系,有的服务器值就很高,也是正常现象。
netstat -n -p | grep SYN_REC | sort -u
先把状态全都取出来,然后使用uniq -c统计,之后再进行排序。
wss8848@ubuntu:~$ netstat -nat |awk '{print $6}'|sort|uniq -c
列出所有连接过的IP地址。
netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
列出所有发送SYN_REC连接节点的IP地址。
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
使用netstat命令计算每个主机连接到本机的连接数。
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
列出所有连接到本机的UDP或者TCP连接的IP数量。
netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
检查 ESTABLISHED 连接并且列出每个IP地址的连接数量。
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
检测sshd异常登录的脚本,防止暴力破解:
#!/bin/bash
#This is a host.deny Shell Script
#2013-08-24
cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2 "=" $1;}' > /tmp/black_ip.txt
DEFINE=10
for i in `cat /tmp/black_ip.txt`
do
IP=`echo $i | awk -F= '{print $1}'`
NUM=`echo $i | awk -F= '{print $2}'`
if [ $NUM -gt $DEFINE ]
then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ]
then
echo "sshd:$IP" >> /etc/hosts.deny
fi
fi
done
今天发现了一个可以更换群晖登录界面壁纸的脚本,拉取的是Bing的图片,代码在下面这个链接:
https://github.com/kkkgo/DSM_Login_BingWallpaper
把它添加到群晖定时任务里边就行了。
注意最后以后右边是两个分号
select
sum(rows) as "总行数",
formatReadableSize(sum(data_uncompressed_bytes)) as "原始大小",
formatReadableSize(sum(data_compressed_bytes)) as "压缩大小",
round(sum(data_compressed_bytes) / sum(data_uncompressed_bytes) * 100, 0) "压缩率"
from system.parts;;
我之前有几块硬盘用作freenas的zfs分区,现在不用了,想换到centos主机上面用,那就得格式化,但是当我按常规fdisk分区,mkfs格式化,mount挂载分区,遇到这个问题:
[root@server3 samba]# mount /dev/sdb1 /var/nextcloud_bak1 mount: /dev/sdb1:检测到更多文件系统。这不应该出现, 请使用 -t <类型> 指明文件系统类型或 使用 wipefs(8) 清理该设备。
也就是说原先zfs格式的磁盘标签没有清理,当然,不影响使用,但是你挂载就得指磁盘分区,不是那么完美,然后blkid也查不到uuid,所以还是要清理干净
[root@server3 samba]# wipefs /dev/sdb1 offset type ---------------------------------------------------------------- 0xe8e0c3e000 zfs_member [filesystem] 0x438 ext4 [filesystem] UUID: b66153c7-dda6-496e-a9bc-04cd7e81a2bf
可以看到,我的ext4格式已经出来了,但是原先的zfs也还在
[root@server3 samba]# wipefs -a /dev/sdb /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d3e000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d3d000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d3c000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d3b000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d3a000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d39000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d38000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d37000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d36000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d35000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d34000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d33000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d7f000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d7e000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d7d000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d7c000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d7b000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d7a000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d79000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d78000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d77000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d76000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d75000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d74000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d73000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d72000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d71000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0d70000 (zfs_member):0c b1 ba 00 00 00 00 00 /dev/sdb:8 个字节已擦除,位置偏移为 0x00000200 (gpt):45 46 49 20 50 41 52 54 /dev/sdb:8 个字节已擦除,位置偏移为 0xe8e0db5e00 (gpt):45 46 49 20 50 41 52 54 /dev/sdb:2 个字节已擦除,位置偏移为 0x000001fe (PMBR):55 aa /dev/sdb: calling ioclt to re-read partition table: 成功
直接执行-a就行了,但是得注意,所有的内容都会擦除,并且得重新分区和格式化!