首页
站点统计
技术支持
友链
关于我
Search
1
麒麟操作系统安装达梦数据库DM8 V8版本
239 阅读
2
苹果笔记本实现用户登录钉钉通知功能
228 阅读
3
CentOS7官方停止支持,yum源变更
227 阅读
4
台式电脑DIY配置单之2024.06
210 阅读
5
Ubuntu22.04配置vsftp服务
202 阅读
默认分类
电脑3C
Linux运维
生活杂谈
游戏娱乐
Windows专题
登录
Search
标签搜索
PHP
Linux
麒麟OS
Win11
电脑
Mac OS
雪中悍刀行
Redis
软考
Mysql
Python
SHELL
windows
祝福
达梦数据库
SSH
CentOS
域名转移
阿里云
腾讯云
清阳
累计撰写
37
篇文章
累计收到
52
条评论
首页
栏目
默认分类
电脑3C
Linux运维
生活杂谈
游戏娱乐
Windows专题
页面
站点统计
技术支持
友链
关于我
搜索到
22
篇与
Linux运维
的结果
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日
122 阅读
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日
110 阅读
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日
111 阅读
0 评论
0 点赞
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日
42 阅读
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日
29 阅读
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日
112 阅读
0 评论
0 点赞
2024-09-08
此内容被密码保护
加密文章,请前往内页查看详情
2024年09月08日
40 阅读
0 评论
0 点赞
2024-09-01
Tyepcho开启伪静态并隐藏URL中的index.php
Tyepcho开启伪静态并隐藏URL中的index.phpTyepcho开启伪静态修改网上有很多Typecho开启伪静态,修改/xxx.xxx.com/index.php/xxx.html 为 /xxx.xxx.com/xxx.html 隐藏php后缀的文章,但是大多都有问题,博主经过多次配置,做了一下总结。确保操作正确,能够生效。希望能帮到大家操作过程主要分2步1、修改nginx配置: location / { index index.php index.html index.htm; #原本配置是这样的,会做重定向到index.php #try_files $uri $uri/ /index.php$is_args$args; #修改为下面这一行 try_files $uri $uri/ /$is_args$args; } 然后nginx -t && nginx -s reload 2、修改typecho后台开启伪静态功能如下图:相关安全加固另外教大家如何隐藏nginx,php版本1、隐藏nginx版本只需要在nginx主配置文件nginx.conf中,http字段,添加:server_tokens off; 然后重载nginx。nginx -t && nginx -s reload2、隐藏php版本只需要在php.ini配置文件中,修改 expose_php = Off 为 expose_php = On注意由于是在网页浏览中所以要修改fpm路径下的php.ini,而不是cli路径下的php.ini。然后重启php-fpm
2024年09月01日
42 阅读
0 评论
1 点赞
1
2
3