首页
站点统计
技术支持
友链
关于我
Search
1
台式电脑DIY配置单之2024.06
1,097 阅读
2
DIY配置单之2024.07
893 阅读
3
苹果笔记本实现用户登录钉钉通知功能
653 阅读
4
麒麟操作系统安装达梦数据库DM8 V8版本
646 阅读
5
《雪中悍刀行》陈望
499 阅读
默认分类
电脑3C
Linux运维
生活杂谈
游戏娱乐
Windows专题
登录
Search
标签搜索
PHP
Linux
麒麟OS
Win11
电脑
腾讯云
阿里云
域名转移
雪中悍刀行
Mac OS
Steam
达梦
SSH
CentOS
SHELL
祝福
Mysql
软考
Zabbix
Redis
清阳
累计撰写
41
篇文章
累计收到
52
条评论
首页
栏目
默认分类
电脑3C
Linux运维
生活杂谈
游戏娱乐
Windows专题
页面
站点统计
技术支持
友链
关于我
搜索到
24
篇与
Linux运维
的结果
2024-12-08
银河麒麟系统编译安装PHP8.2的redis模块
银河麒麟系统编译安装PHP8.2的redis模块php默认编译没有redis模块本文记录了银河麒麟服务器操作系统(Host版)V10环境下PHP8.2如何编译安装redis模块。本文配置在上一篇文章国产银河麒麟服务器版(Host)V10 编译安装PHP8.2基础上进行,有疑问可以先熟悉一下更容易上手。php redis扩展源码下载一、编译yum install gcc make libzip autoconf -y cd /usr/local/src/ wget https://github.com/phpredis/phpredis/archive/refs/tags/5.3.7.tar.gz tar -zxf 5.3.7.tar.gz cd phpredis-5.3.7 /usr/local/php82/bin/phpize ./configure --with-php-config=/usr/local/php82/bin/php-config --enable-redis make && make install安装成功后,会输出redis.so已经被发送到 /usr/local/php82/lib/php/extensions/no-debug-non-zts-20220829 目录下。二、配置启用模块#如果已经生成过 /usr/local/php82/etc/php.ini 则跳过这一步。 cp /usr/local/src/php-8.2.26/php.ini-development /usr/local/php82/etc/php.ini ln -s /usr/local/php82/etc /etc/php82 #在php.ini文件中开启redis模块 echo "extension=redis" >> /usr/local/php82/etc/php.ini #检查测试: php -m | grep redis 能匹配到则说明安装和开启php8.2 redis模块成功。
2024年12月08日
168 阅读
0 评论
0 点赞
2024-12-07
国产银河麒麟服务器版(Host)V10 编译安装PHP8.2
国产银河麒麟服务器版(Host)V10 编译安装PHP8.2本文记录了国产银河麒麟操作系统服务器版V10编译安装PHP8.2的过程软件准备国产银河麒麟操作系统服务器版: 下载地址PHP8.2源码包PHP使用8.2非线程安全版:下载地址系统基础软件#更新系统 yum update -y #安装常用软件 yum install vim htop lrzsz nc \ wget curl mtr bash-completion -y #编译软件 yum install gcc make libzip autoconf -y #这些是编译PHP扩展时依赖的组件,提前安装好 yum -y install libzip \ libzip-devel \ libxml2-devel \ openssl-devel \ sqlite-devel \ bzip2-devel \ libcurl-devel \ gmp-devel \ oniguruma-devel \ readline-devel \ libxslt-devel \ libpng-devel \ libjpeg-devel \ freetype-devel 编译安装PHP8.2cd /usr/local/src wget https://www.php.net/distributions/php-8.2.26.tar.gz tar -zxvf php-8.2.26.tar.gz cd php-8.2.26 ./configure --prefix=/usr/local/php82 --with-config-file-path=/etc/php82 --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --disable-debug --disable-rpath --enable-shared --enable-soap --with-openssl --with-mhash --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --enable-ftp --enable-gd --with-jpeg --with-gettext --with-freetype --with-openssl-dir=/usr/bin/openssl --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-mbstring --enable-mbregex --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-xsl --with-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache make && make install设置PHP环境变量路径#安装完成后拷贝和修改php.ini文件 cp /usr/local/src/php-8.2.26/php.ini-development /usr/local/php82/etc/php.ini ln -s /usr/local/php82/etc /etc/php82设置php-fpm systemctl开机启动项cat > /lib/systemd/system/php-fpm.service<<EOF [Unit] Description=The PHP FastCGI Process Manager After=network.target [Service] #Type=notify Type=forking PIDFile=/usr/local/php82/var/run/php-fpm.pid #ExecStart=/usr/local/php82/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php82/etc/php-fpm.conf ExecStart=/usr/local/php82/sbin/php-fpm --fpm-config /usr/local/php82/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID ExecStop=/bin/kill -SIGINT $MAINPID [Install] WantedBy=multi-user.target EOF systemctl enable php-fpm systemctl start php-fpm其中需要注意的是:/usr/local/php82/var/run/php-fpm.pid这个需要和你自己的PHP安装路径保持一致拷贝和生成php-fpm.conf文件,以及 php-fpm.d/www.conf文件cd /usr/local/php82/etc cp php-fpm.conf.default php-fpm.conf cp php-fpm.d/www.conf.default php-fpm.d/www.conf配置php-fpm.conf文件中的pid路径,使其和 /lib/systemd/system/php-fpm.service 文件中的 PIDFile 值保持一致配置 php-fpm.d/www.conf对接设置nginx,使之能够调用php-fpm处理php请求location ~ \.php$ { fastcgi_pass php-fpm; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }设置 nginx配置文件中的 php-fpm.confcat /etc/nginx/conf.d/php-fpm.conf upstream php-fpm { server unix:/usr/local/php82/var/run/www.sock; } #修改完成后重载 nginx nginx -t && nginx -s reload至此配置完毕。请自行测试。
2024年12月07日
465 阅读
0 评论
0 点赞
2024-11-23
查询某个IP下有哪些域名
查询某个IP下有哪些域名比如我有台服务器IP: 1.1.1.1部署了以下网站 a.web.comb.web.comdw.web.comez.web.com有什么办法在不知道有这些域名的情况下,确认到这些域名?方案可以使用: https://www.shodan.io,这个网站来查询。这里以: 1.1.1.1 为例:https://www.shodan.io/host/1.1.1.1查询结果如下:点击红框的地方能看到当前服务器下的域名:其中 红框为:域名,篮框为开的端口有哪些。点开红框中即可看到有哪些域名以及二级域名在用。方法2:另外使用这个网址也可以查询,并且更加直观,https://search.censys.io/hosts/https://search.censys.io/hosts/1.1.1.1 查询结果中Forward DNS 字段.就是我们要找的结果。
2024年11月23日
251 阅读
0 评论
0 点赞
2024-11-01
CentOS6 ssh 到 CentOS9 报 no hostkey alg 错误【已解决】
CentOS6 ssh 到 CentOS9 报 no hostkey alg 错误【已解决】新安装一台CentOS9的服务器,SSH远程连的时候报错 no hostkey alg原因是:从 RHEL9 的官网文档《1.0.2. Crypto-policies, RHEL core cryptographic components, and protocols(加密策略、RHEL 核心加密组件和协议)》可以看到 SHA-1 已经在 RHEL9 中弃用了!在 RHEL 9 中,用于签名的 SHA-1 用法在 DEFAULT 系统范围的加密策略中受到限制。除 HMAC 外,TLS、DTLS、SSH、IKEv2、DNSSEC 和 Kerberos 协议中不再允许使用 SHA-1。不受 RHEL 系统范围的加密策略控制的单个应用程序在 RHEL 9 中也不再使用 SHA-1 hashes。所以在CentOS中也是一样的情况。解决办法重新启用 SHA-1 来验证现有或第三方加密签名# update-crypto-policies --set DEFAULT:SHA1执行结果如下:{alert type="error"}注意:LEGACY还启用了许多其他不安全的算法。有关详细信息,请参阅 RHEL 9 Security hardening (RHEL 9 安全强化)文档中的 Re-enabling SHA-1 (重新启用 SHA-1)部分。{/alert}
2024年11月01日
307 阅读
0 评论
1 点赞
2024-10-13
PHP版本有效支持和EOL日期
PHP版本有效支持和EOL日期当前 PHP 版本系列的最新有效支持和 EOL 日期。参考自:https://thephp.foundation/blog/2024/10/02/php-core-roundup-19/PHP版本发布日期积极维护直至支持结束时间 PHP 8.12021-11-252023-11-252025-12-31PHP 8.22022-12-082024-12-312026-12-31PHP 8.32023-11-232025-12-312027-12-31PHP 8.42024-11-212026-12-312028-12-31PHP 8.52025-112027-12-312029-12-31
2024年10月13日
79 阅读
0 评论
0 点赞
2024-10-13
win11版本PHP命令行报错:由于找不到vcruntime140.dll 问题 【已解决】
win11版本PHP命令行报错:由于找不到vcruntime140.dll 问题 【已解决】window 11安装php8.3-nfs非线程安全版本,命令行执行php报错:报错:由于找不到vcruntime140.dll,无法继续执行代码解决办法:访问这个网站https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170找到:点击下载,下载链接为:https://aka.ms/vs/17/release/vc_redist.x64.exe下载后,安装。即可解决。
2024年10月13日
55 阅读
0 评论
0 点赞
2024-10-13
腾讯云域名转出到阿里云
腾讯云域名转出到阿里云本文记录了把域名从腾讯云转出到阿里云的操作过程:需求如下:由于在腾讯云下有个域名,但是服务器在阿里云。国内域名需要备案。为了统一管理,需要把域名从腾讯云转移到阿里云,使用阿里云的域名和服务器来统一备案比较方便。需要注意的是,如果域名是在腾讯云新注册的,需要等待60天才行如果新域名注册时间不够60天,在腾讯云控制台操作转移会提示:2024-10-13 13:23:54 星期日等待中。。。
2024年10月13日
17 阅读
0 评论
0 点赞
2024-09-15
iptables连接跟踪状态表conntrack爆满网络故障处理[已解决]
iptables连接跟踪状态表conntrack爆满网络故障处理[已解决]本文记录了Openwrt 软路由,由于iptables连接跟踪状态表conntrack达到最大限制,触发一系列奇怪的网络。从故障现象到排查过程,到优化方案都做了详细的总结首先介绍下公司的网络设备连接方式:{message type="info" content=" 电信出口光猫->软路由openwrt->行为管理(深信服AC)->华为核心交换->二层交换机(有线和无线网络)"/}问题描述:某天接到公司同事反馈 IOS端的 Appstore应用打不开。一开始以为是同事电脑问题。报错如下:故按照管理,重启大法伺候,重启完之后,故障仍在。没多久,又有其他同事陆续范围,MAC笔记本电脑打不开 Appstore,断网重连,重启电脑都不行。看来网络确实有问题。开始排查排查接入点网络先尝试有线和无线,2.4G和5G两个WIFI频段都尝试一次,以上问故障都会出现。初步定位为和WIFI热点无关。应该是上层网络节点出问题。排查路由防火墙设置排查了常规的iptables防火墙,端口转发,行为管理行为策略。发现都正常。路由器tcpdump抓包登录openwrt路由器命令行界面,使用tcpdump -vn 192.168.24.31 抓包debug这里的 192.168.24.31 是其中的一台苹果手机IP,我们用这台手机访问appstore抓包测试。经排查发现打开appstore 这个app时网络数据包异常,从app服务器发来的udp数据包,无法被手机端接收,服务器发来的3次同样的Udp数据包,均没有被手机端接收到。问题就出在这里。那么是什么原因导致的呢?考虑到既然是网络数据包进不来,重置一下网络连接是否有效呢?然后在openwrt上面重载iptables,再测试发现app store可以正常访问了。然而。。。,过了1分钟之后,app store就又无法访问了,一脸懵逼。。。看来这个问题确实跟防火墙有关。防火墙上配置了一系列端口转发规则,都是业务在用的,无法通过关闭Iptables解决。在这里卡了大半天,实在找不到解决办法。并且在这期间app store有时候是能访问的,大部分时间都无法访问。看起来相当不稳定,很奇怪的问题。这里就想着如何追踪iptables工作状态,经过查资料发现。openwrt 网络连接主要和iptables有关,并且记录在 /proc/net/nf_conntrack 中,这个文件中。nf_conntrack详解nf_conntrack(在老版本的 Linux 内核中叫 ip_conntrack)是一个内核模块,用于跟踪一个连接的状态的。连接状态跟踪可以供其他模块使用,最常见的两个使用场景是 iptables 的 nat 的 state 模块。 iptables 的 nat 通过规则来修改目的/源地址,但光修改地址不行,我们还需要能让回来的包能路由到最初的来源主机。这就需要借助 nf_conntrack 来找到原来那个连接的记录才行。而 state 模块则是直接使用 nf_conntrack 里记录的连接的状态来匹配用户定义的相关规则。例如下面这条 INPUT 规则用于放行 80 端口上的状态为 NEW 的连接上的包。iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT。iptables中的状态检测功能是由state选项来实现iptable的/proc/net/nf_conntrack内容详解cat /proc/net/nf_conntrack ipv4 2 tcp 6 8 CLOSE src=115.231.78.3 dst=107.173.34.159 sport=64904 dport=443 src=107.173.34.159 dst=115.231.78.3 sport=443 dport=64904 [ASSURED] mark=0 zone=0 use=2 ipv4 2 tcp 6 119 TIME_WAIT src=115.231.78.3 dst=107.173.34.159 sport=45761 dport=443 src=107.173.34.159 dst=115.231.78.3 sport=443 dport=45761 [ASSURED] mark=0 zone=0 use=2 ipv4 2 tcp 6 6 CLOSE src=115.231.78.3 dst=107.173.34.159 sport=57985 dport=443 src=107.173.34.159 dst=115.231.78.3 sport=443 dport=57985 [ASSURED] mark=0 zone=0 use=2 每一列表达的意思 第一列:网络层协议名字。 第二列:网络层协议号。 第三列:传输层协议名字。 第四列:传输层协议号。 第五列:无后续包进入时无效的秒数,即老化时间。 第六列:不是所有协议都有,连接状态。 其它的列都是通过名字的方式(key与value对)表述,或和呈现标识([UNREPLIED], [ASSURED], …)。一行的不同列可能包含相同的名字(例如src和dst),第一个表示请求方,第二个表示应答方。 呈现标识含义 [ASSURED]: 在两个方面(即请求和响应)方向都看到了流量。 [UNREPLIED]: 尚未在响应方向上看到流量。如果连接跟踪缓存溢出,则首先删除这些连接。 请注意,某些列名仅出现在特定协议中(例如,TCP和UDP的sport和dport,ICMP的type和code)。 仅当内核使用特定选项构建时,才会显示其他列名称(例如mark)。经检查发现,这个文件现在有16000行左右。这个值刚好和当前配置的 net.netfilter.nf_conntrack_max=16000 值接近,并且一直在这个值左右徘徊。查阅资料发现这个值是系统用来记录跟踪所有网络连接状态的表。已经超过了最大值。我们修改并添加一下参数再试试:在 /etc/sysctl.conf 文件中新增以下内容net.netfilter.nf_conntrack_buckets=262144 net.netfilter.nf_conntrack_generic_timeout=600 net.netfilter.nf_conntrack_udp_timeout=30 net.netfilter.nf_conntrack_udp_timeout_stream=180 net.netfilter.nf_conntrack_tcp_timeout_syn_recv=60 net.netfilter.nf_conntrack_tcp_timeout_syn_sent=120 net.netfilter.nf_conntrack_tcp_timeout_time_wait=120然后:sysctl -w net.netfilter.nf_conntrack_buckets=262144 sysctl -w net.netfilter.nf_conntrack_generic_timeout=600 sysctl -w net.netfilter.nf_conntrack_udp_timeout=30 sysctl -w net.netfilter.nf_conntrack_udp_timeout_stream=180 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_syn_recv=60 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_syn_sent=120 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait=120使之生效。再运行 sysctl -p以防万一。找个业务低峰期重启一下openwrt,重启速度openwrt硬件有关。我们的硬件为inter 10代i7,30秒左右就重启好了。经过2天的观察,发现app store已经完全正常, /proc/net/nf_conntrack 文件记录数也从1.6w,涨到了2w看起来确实生效了。收工。
2024年09月15日
237 阅读
0 评论
0 点赞
1
2
3