首页
站点统计
技术支持
友链
关于我
Search
1
CentOS7官方停止支持,yum源变更
229 阅读
2
苹果笔记本实现用户登录钉钉通知功能
219 阅读
3
麒麟操作系统安装达梦数据库DM8 V8版本
208 阅读
4
Ubuntu22.04配置vsftp服务
190 阅读
5
台式电脑DIY配置单之2024.06
186 阅读
默认分类
电脑3C
Linux运维
生活杂谈
游戏娱乐
Windows专题
网络互联
登录
Search
标签搜索
PHP
Linux
麒麟OS
Win11
电脑
Typecho
Mac OS
雪中悍刀行
Redis
Joe
windows
祝福
SHELL
Mysql
达梦数据库
阿里云
SSH
CentOS
域名转移
网络
清阳
累计撰写
37
篇文章
累计收到
13
条评论
首页
栏目
默认分类
电脑3C
Linux运维
生活杂谈
游戏娱乐
Windows专题
网络互联
页面
站点统计
技术支持
友链
关于我
搜索到
21
篇与
Linux运维
的结果
2025-02-09
记一次GCP云SQL数据库问题导致的线上故障
记一次GCP云SQL数据库问题导致的线上故障本文记录了一次由于GCP SQL云数据库异常导致的线上故障接到业务部门反馈数据库查询异常。运维小伙伴第一时间排查确认:1、登录运维系统检查监控日志发现一切正常。2、登录GCP web控制台查看SQL状态发现一切正常。3、登录服务器使用mysql命令行连接数据库进行查询检测发现有报错。如下:[game@server-1 ~]$ mysql -h 10.1.2.3 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1344693 Server version: 8.0.31-google Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> use JobScheduleDb; No connection. Trying to reconnect... Connection id: 1344727 Current database: *** NONE *** ERROR 1184 (08S01): Aborted connection 1344727 to db: 'unconnected' user: 'root' host: '10.1.2.3' (init_connect command failed) mysql> select JobName from JobScheduleDb.JobScheduleLog limit 1; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> 总结一下:就是执行任何SQL查询语句均为异常。(也包括root用户)解决办法:在GCP控制台删除当前用户,然后重新创建新用户。再次测试,发现业务正常。联系GCP技术排查确认。GCP也没查到具体原因。事发时GCP后台出现过维护更新日志记录。具体原因扔在排查跟进中。导致的后果:由于常规监控正常,但是业务异常,并且没有相关业务监控,导致事发后过了好久才发现。产生了很不好的影响。完善解决方案1、加强数据库查询监控,监控系统读取数据异常时,及时告警通知人员介入处理。2、加强业务监控,业务不正常一定要及时告警出来。(业务监控也不能少)3、这种数据库运行正常,用户查询异常的情况一般很少遇到,总结本次经验教训,监控一定要足够完善,否则很容易被拉出来背锅。2025年3月1日更新经排查确认:可能跟init_connect 'SET NAMES utf8mb4 COLLATE utf8mb4_bin'这行配置有关,具体原因, 检查确认中 已确认,下文作了总结。查看mysql官网文档对于init_connect的解释:服务器将为每个连接的客户端执行的字符串。该字符串由一个或多个 SQL 语句组成,以分号字符分隔。 对于拥有 CONNECTION_ADMIN权限(或弃用SUPER 权限)的用户, 的内容 init_connect不会被执行。这样做是为了避免 的错误值 init_connect阻止所有客户端连接。例如, 值可能包含语法错误的语句,从而导致客户端连接失败。不执行 或 权限init_connect的用户可让他们打开连接并修复该 值。 CONNECTION_ADMINSUPERinit_connect init_connect对于任何密码已过期的客户端用户,将跳过执行。这样做是因为这样的用户无法执行任意语句,因此init_connect 执行失败,导致客户端无法连接。跳过init_connect 执行使用户能够连接并更改密码。 服务器将丢弃由 的值中的语句生成的任何结果集init_connect。解释一下就是 init_connect 设置了mysql用户连接数据库之后执行的第一条sql语句。但是以下两种情况例外:1、具有超级数据库管理权限的用户会跳过。(避免因为设置错误,连不上数据库,无法修改管理配置的情况)2、密码到期的客户端。(避免客户端密码到期后,连接不上无法修改密码。)经过反复修改测试,init_connect 如果设置为'SET NAMES utf8mb4 COLLATE utf8mb4_bin',即带 单引号的方式确实会影响普通用户连接数据库和查询,主要是影响连接后的第一条sql语句执行。 添加时 应为:init_connect = SET NAMES utf8mb4 COLLATE utf8mb4_bin去掉单引号。
2025年02月09日
31 阅读
0 评论
0 点赞
2025-01-08
Linux常用操作
Linux常用操作Linux常用操作主要包含Shell命令行等命令fail2ban封禁和解封指定IP#fail2ban把IP加入黑名单 fail2ban-client set sshd banip 1.1.1.1 #fail2ban把IP从黑名单移除 fail2ban-client set sshd unbanip 1.1.1.1 返回1为成功,0即表示规则没有发生变化,即操作失败(说明IP本来就在列表或者不在列表中)ulimit参数优化ulimit -a编辑 /etc/security/limits.confroot soft nofile 1024000 root hard nofile 1024000 root soft nproc 1024000 root hard nproc 1024000 * soft nofile 1024000 * hard nofile 1024000 * soft nproc 1024000 * hard nproc 1024000 * soft core unlimited * soft stack 10240立即生效命令:ulimit -uSHDebian12安装常用软件apt install locales-all -y apt install rsyslog -y systemctl start rsyslog systemctl enable rsyslog systemctl restart fail2ban.service systemctl status fail2ban.service apt update apt install command-not-found sudo strace iftop iotop -y apt install vim htop -y apt install netcat-openbsd htop wget curl mtr nmap tcpdump bind9-utils lrzsz rsync git -y apt install sysstatiftop iotop lsof strace -y apt install unzip unrar-free dos2unix tree tmux screen -y apt install nginx php php-fpm nodejs python3-pip redis-server -y apt install composer docker-compose -y apt install inotify-tools -y apt install fail2ban -y apt install php php-{fpm,mysql,curl,zip,xml,gd,mbstring,bcmath,soap,ldap,oauth,redis,yaml,gd,curl,pdo,dom,zip,xml} -y apt install python3-certbot-nginx certbot -ySSL证书常用操作openssl x509 -in /etc/letsencrypt/live/gmork.cc/cert.pem -text
2025年01月08日
37 阅读
0 评论
0 点赞
2024-12-29
CentOS7.9 python3 Can‘t connect to Https URL Because the SSL module is not available(已解决)
CentOS7.9 python3 Can‘t connect to Https URL Because the SSL module is not available(已解决)问题概览CentOS7.9编译安装Python3.10运行python脚本的时候报Can‘t connect to Https URL Because the SSL module is not available.当然,这个问题和python3 -c "import ssl" 报错是同一个问题经排查发现是系统openssl版本过低导致的。python3.10依赖的ssl 1.1.1以上的版本。{message type="success" content="注意:其实在编译python3过程中,会输出openssl版本过低的信息,只不过没有突出显示,不仔细查看,难以发现。"/}OK,发现问题之后,已经查明的原因,解决起来就容易多了。我们重新编译安装Openssl,升级系统的openssl版本到1.1.1以上即可解决。这里我们升级至 1.1.1w(openssl官网有更新的3.x ssl版本,但是我们服务器是centos7属于比较旧的版本,对 ssl 3.x兼容性有问题,所以先不用3.x的)编译安装Openssl#安装前先检查Openssl的版本 openssl version #OpenSSL 1.0.2k-fips 26 Jan 2017 yum install perl-core zlib-devel -y cd /usr/local/src wget -S “https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz” tar -zxvf openssl-1.1.1w.tar.gz cd openssl-1.1.1w ./config --prefix=/usr/local/openssl make && make install mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/include/openssl /usr/include/openssl.bak ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/local/openssl echo "/usr/local/openssl/lib" > /etc/ld.so.conf.d/openss111w.conf #然后再次检查openssl版本 openssl version #OpenSSL 1.1.1w 11 Sep 2023 (Library: OpenSSL 1.1.1k FIPS 25 Mar 2021) #openssl的目录路径 openssl version -d 》》 OPENSSLDIR: "/usr/local/openssl/ssl"openssl升级完成编译安装python12yum install libffi-devel.x86_64 libdb-devel uuid-devel.x86_64 tk-devel.x86_64 zlib-static.x86_64 zlib-devel -y cd /usr/local/src/ wget https://www.python.org/ftp/python/3.12.6/Python-3.12.6.tgz tar -zxvf Python-3.12.6.tgz cd Python-3.12.6 openssl version -d #这个命令找到openssl根目录 》》 OPENSSLDIR: "/usr/local/openssl/ssl" --with-openssl=参数填写这个路径 cd /usr/local/src/ cd Python-3.12.6 cat >> Modules/Setup<<EOF SSL="/usr/local/openssl" _ssl _ssl.c \ -DUSE_SSL -I"\$(SSL)"/include -I"\$(SSL)"/include/openssl \ -L"\$(SSL)"/lib -lssl -lcrypto EOF ./configure --prefix=/usr/local/python3.12 --with-openssl=/usr/local/openssl/ssl && make && make install测试/usr/local/python3.12 -r "import ssl" #不报错,则说明模块引入成功Python虚拟环境[root@centos-12 opt]# mkdir -p /var/www [root@centos-12 opt]# cd /var/www/ [root@centos-12 www]# ls [root@centos-12 www]# python3 -m venv myenv [root@centos-12 www]# ls myenv [root@centos-12 www]# source myenv/bin/activate (myenv) [root@centos-12 www]# (myenv) [root@centos-12 www]# python Python 3.12.8 (main, Dec 30 2024, 13:22:30) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import ssl >>> (myenv) [root@centos-12 www]# deactivate [root@centos-12 www]# [root@centos-12 www]# python Python 2.7.5 (default, Nov 14 2023, 16:14:06) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> python虚拟环境总结python3 -m venv myenv ## 使用Python venv模块创建了 名为myenv,当前目录下会生成一个myvenv目录 source myenv/bin/activate ## 激活进入 myenv虚拟环境 deactivate ## 退出虚拟环境 /var/www/myenv/bin/python3 ## 使用绝对路径直接引用Python虚拟环境 /var/www/myenv/bin/pip ## 使用绝对环境直接引用 虚拟环境中的pip
2024年12月29日
42 阅读
0 评论
0 点赞
PHP8.2添加达梦数据库PHP PDO_DM扩展
PHP8.2添加达梦数据库PHP PDO_DM扩展环境描述系统环境如下:银河麒麟高级服务器操作系统V10 SP3 X86架构(X64架构同样适用)达梦数据库V8版本ISO安装镜像文件 这个需要在达梦官网下载php8.2 nts基于laravel 9dcat-admin由于银河麒麟操作系统V10基于CentOS8,并且无法安装epel-release源,更没办法使用Remi源,所以本次安装的PHP8.2假设我们是编译安装的。具体安装教程可以参考另外一篇文章:国产银河麒麟服务器版(Host)V10 编译安装PHP8.2.步骤概览PHP安装PDO_DM模块分为以下几步:本地安装达梦数据库V8客户端(服务端、混合安装均可),或者上传其他Linux系统上安装好的达梦数据库 bin目录,以及libphp82_dm.so、php82_pdo_dm.so两个文件这里包含了PDO_DM so模块依赖的达梦动态连接库设置系统动态链接库路径,新增第一步中自己安装或者拷贝过来的bin目录路径,并重载ldconfig拷贝PHP so模块文件到PHP扩展目录测试PDO_DM功能开始:本地安装达梦数据库V8客户端先从达梦官网下载iso程序镜像到/usr/local/src目录之后按照以下命令执行:[root@kylin-server-2 src]# cd /usr/local/src/ [root@kylin-server-2 src]# mkdir dmdbiso [root@kylin-server-2 src]# ls dm8_20240930_HG_kylin10_64.iso dmdbiso php-8.2.26 php-8.2.26.tar.gz [root@kylin-server-2 src]# pwd /usr/local/src [root@kylin-server-2 src]# mount -o loop dm8_20240930_HG_kylin10_64.iso dmdbiso/ mount: /usr/local/src/dmdbiso: WARNING: source write-protected, mounted read-only. [root@kylin-server-2 src]# ls dmdbiso/ 'DM8 Install.pdf' DMInstall.bin ###下面3行设置系统环境,为达梦数据库安装做准备 [root@kylin-server-2 src]# useradd dmdba [root@kylin-server-2 src]# export DM_INSTALL_TMPDIR=/usr/local [root@kylin-server-2 src]# cd dmdbiso/ [root@kylin-server-2 dmdbiso]# #开始安装 [root@kylin-server-2 dmdbiso]# ./DMInstall.bin -i 安装语言: [1]: 简体中文 [2]: English 请选择安装语言 [1]: 1 解压安装程序......... 硬件架构校验通过! core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 7546 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 7546 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited 可打开文件数过少,建议至少设置为65536或更多。 欢迎使用达梦数据库安装程序 是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]: N 是否设置时区? (Y/y:是 N/n:否) [Y/y]: N 安装类型: 1 典型安装 2 服务器 3 客户端 4 自定义 请选择安装类型的数字序号 [1 典型安装]: 1 所需空间: 2170M 请选择安装目录 [/opt/dmdbms]: /usr/local/dmdbms 可用空间: 37G 是否确认安装路径(/usr/local/dmdbms)? (Y/y:是 N/n:否) [Y/y]: Y 安装前小结 安装位置: /usr/local/dmdbms 所需空间: 2170M 可用空间: 37G 版本信息: 有效日期: 安装类型: 典型安装 是否确认安装? (Y/y:是 N/n:否): Y 2024-12-27 10:16:39 [INFO] 安装达梦数据库... 2024-12-27 10:16:40 [INFO] 安装 基础 模块... 2024-12-27 10:16:46 [INFO] 安装 服务器 模块... 2024-12-27 10:16:48 [INFO] 安装 客户端 模块... 2024-12-27 10:16:51 [INFO] 安装 驱动 模块... 2024-12-27 10:16:53 [INFO] 安装 手册 模块... 2024-12-27 10:16:54 [INFO] 安装 服务 模块... 2024-12-27 10:16:54 [INFO] 移动日志文件。 2024-12-27 10:16:55 [INFO] 正在启动DmAPService服务... 2024-12-27 10:16:55 [INFO] 启动DmAPService服务成功。 2024-12-27 10:16:55 [INFO] 安装达梦数据库完成。 安装结束 [root@kylin-server-2 dmdbiso]# cd /usr/local/src/ [root@kylin-server-2 dmdbiso]# umount dmdbiso达梦数据库安装完成。上图中有一部分提示我们ulimit参数没有优化,本文最后有优化ulimit参数方法。达梦数据库目录如下:(yum install tree -y 安装tree命令)[root@kylin-server-2 ~]# tree /usr/local/dmdbms -L 1 /usr/local/dmdbms ├── bin #pdo_扩展依赖的动态链接库目录 ├── bin2 ├── desktop ├── doc ├── drivers #驱动目录,达梦数据库php Pdo驱动模块文件就在这个路径下的php_pdo目录 ├── include ├── jar ├── jdk ├── license_chs.txt ├── license_cht.txt ├── license_en.txt ├── log ├── samples ├── script ├── tool ├── uninstall └── uninstall.sh [root@kylin-server-2 ~]# ls /usr/local/dmdbms/drivers/php_pdo libphp52_dm.so libphp54_dm.so libphp56ts_dm.so libphp72_dm.so libphp74ts_dm.so libphp82_dm.so php52ts_pdo_dm.so php55_pdo_dm.so php70ts_pdo_dm.so php73_pdo_dm.so php80ts_pdo_dm.so php83_pdo_dm.so libphp52ts_dm.so libphp54ts_dm.so libphp70_dm.so libphp72ts_dm.so libphp80_dm.so libphp82ts_dm.so php53_pdo_dm.so php55ts_pdo_dm.so php71_pdo_dm.so php73ts_pdo_dm.so php81_pdo_dm.so php83ts_pdo_dm.so libphp53_dm.so libphp55_dm.so libphp70ts_dm.so libphp73_dm.so libphp80ts_dm.so libphp83_dm.so php53ts_pdo_dm.so php56_pdo_dm.so php71ts_pdo_dm.so php74_pdo_dm.so php81ts_pdo_dm.so libphp53_mysql.so libphp55ts_dm.so libphp71_dm.so libphp73ts_dm.so libphp81_dm.so libphp83ts_dm.so php54_pdo_dm.so php56ts_pdo_dm.so php72_pdo_dm.so php74ts_pdo_dm.so php82_pdo_dm.so libphp53ts_dm.so libphp56_dm.so libphp71ts_dm.so libphp74_dm.so libphp81ts_dm.so php52_pdo_dm.so php54ts_pdo_dm.so php70_pdo_dm.so php72ts_pdo_dm.so php80_pdo_dm.so php82ts_pdo_dm.so本次php PDO_DM模块只需要关注 /usr/local/dmdbms/bin 和/usr/local/dmdbms/drivers/php_pdo这两个目录下内容。把达梦bin目录下的动态库文件添加到系统动态库加载项[root@kylin-server-2 ~]# echo "/usr/local/dmdbms/bin" > /etc/ld.so.conf.d/php-dm.conf [root@kylin-server-2 ~]# ldconfig ldconfig: /usr/local/dmdbms/bin/libxerces-c-3.1.so 不是符号链接 ldconfig: /usr/local/dmdbms/bin/libgeos_c.so.1 不是符号链接 #(这两条警告信息可忽略) [root@kylin-server-2 ~]# 拷贝达梦 php 模块文件到PHP扩展目录下本次一并操作了 php的dm模块和PDO_DM模块[root@kylin-server-2 ~]# cp /usr/local/dmdbms/drivers/php_pdo/libphp82_dm.so /usr/local/php82/lib/php/extensions/no-debug-non-zts-20220829/ [root@kylin-server-2 ~]# cp /usr/local/dmdbms/drivers/php_pdo/php82_pdo_dm.so /usr/local/php82/lib/php/extensions/no-debug-non-zts-20220829/修改php.ini,引入达梦数据库模块[root@kylin-server-2 ~]# echo "extension=libphp82_dm" >> /etc/php82/php.ini [root@kylin-server-2 ~]# echo "extension=php82_pdo_dm" >> /etc/php82/php.ini [root@kylin-server-2 ~]# echo 'export PATH=$PATH:/usr/local/php82/bin' >> /etc/bashrc [root@kylin-server-2 ~]# source !$ source /etc/bashrc注意{message type="error" content="如果测试中报以下错误,一定要及时排查。否则造成的一切后果自负案例一、如果测试报这个错误,一定要修复,一定不要重启服务器,会导致静态IP丢失,本人本地虚拟机亲测"/}[root@kylin-server-2 ~]# php -m php: relocation error: /usr/lib64/libcurl.so.4: symbol SSLv3_client_method version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference{message type="warning" content="出现这个错误的原因是 /etc/ld.so.conf.d/php-dm.conf 执行这一步时,没有使用php-dm.conf文件名,而是自定义了其他文件名,由于文件名不同可能导致加载动态链接库顺序不一致,libssl.so类似这样的同名文件不同内容库,相互影响了。解决办法是:修改php-dm.conf(这里是你自己起的文件名,改成其他的或者干脆就跟作者一样使用 php-dm.conf 做名字然后ldconfig再次测试 php -m | grep -i dm)"/}配置完成,检测[root@kylin-server-2 ld.so.conf.d]# php -m | grep -i dm dm PDO_DM #这里显示dm和PDO_DM模块已经被安装并且成功加载了。 ## 然后使用以下脚本检测Pdo模块功能 [root@kylin-server-1 ~]# cd /tmp/ [root@kylin-server-1 tmp]# cat >dm_db.php<<EOF <?php try { //数据库链接字符串 $dn="dm:host=192.168.12.10;port=5236;dbname=PHP"; $pdo = new PDO($dn,"PHP","b5KJqM4F57"); //用户名 ,密码<br> $query="SELECT * FROM PHP.\"tgs\""; //测试查询语句 $stmt = $pdo->query($query); if(!$stmt)//如果出现了错误,获得错误信息 { echo "<pre>"; echo $pdo->errorCode(); print_r($pdo->errorInfo()); echo "</pre>"; die(); } $stmt->execute(); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); echo "<pre>"; print_r($rows); echo "</pre>"; }catch(PDOException $e){ print "Error: " . $e->getMessage()."<br/>"; } EOF [root@kylin-server-1 tmp]# php dm_db.php <pre>Array ( [0] => Array ( [id] => 1 [name] => 来自PHP PDO_DM模块的检测 ) [1] => Array ( [id] => 2 [name] => bbb1 ) ) </pre>[root@kylin-server-1 tmp]# ## 测试表需要自己创建,我这里是名为PHP模式下的tgs表,有id和name两列。查到此内容则表示测试OK.优化ulimit参数方法#先查看当前设置: [root@kylin-server-2 ~]# ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 7546 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 7546 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited [root@kylin-server-2 ~]# ulimit -SHn 65535 cat >> /etc/security/limits.conf<<EOF * soft nofile 1024000 * hard nofile 1024000 * soft nproc 1024000 * hard nproc 1024000 * soft core unlimited * soft stack 10240 EOF ## 再次查看ulimit设置 [root@kylin-server-2 ~]# ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 7546 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65535 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 7546 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited 这里已经看到参数修改好了。可用的命令ldconfig ##重载系统动态链接库 ldconfig -v ##查看重载链接库详细过程,并显示链接库名 ldd libssl.so ##查看libssl.so链接库依赖哪些库
2024年12月22日
138 阅读
0 评论
0 点赞
2024-12-21
银河麒麟V10高级服务器操作系统重置root密码
银河麒麟V10高级服务器操作系统重置root密码银河麒麟V10高级服务器操作系统忘记root密码,如何重置启动系统进入单用户模式进入系统启动项,按e键输入grub界面密码{message type="success" content="默认用户为:admin 密码:Kylin123123"/}输入账户密码后进入编辑模式,找到linux开头的行,在行末尾加入rw init=/bin/bash console=tty0编辑完后,'ctrl+x'进入启动项。编辑后结果如下图:按'ctrl+x'启动进入密码重置界面重置密码(需要有大小写特殊字符和数字组成的强密码),成功后,使用/usr/sbin/reboot命令重启启动参考1、https://199604.com/2636
2024年12月21日
104 阅读
0 评论
0 点赞
2024-12-08
麒麟操作系统安装达梦数据库DM8 V8版本
# 麒麟操作系统安装达梦数据库V8版本 本文主要总结了:中标麒麟安装达梦数据库的全过程 **达梦数据库** 是一款国产数据库。本文记录了在银河麒麟操作系统下,安装达梦数据库V8.0版本的全过程。 达梦官网:https://www.dameng.com/
2024年12月08日
208 阅读
8 评论
0 点赞
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日
59 阅读
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日
112 阅读
0 评论
0 点赞
1
2
3