1
thunderw 2022-04-10 10:42:28 +08:00
systemctl status -l php74-php-fpm
加个-l 看看是咋了? |
2
azev OP @thunderw 还是没有详细信息
[root@cent79 ~]# systemctl status -l php74-php-fpm ● php74-php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php74-php-fpm.service; enabled; vendor preset: disabled) Active: failed (Result: signal) since 日 2022-04-10 10:13:03 CST; 57min ago Process: 24028 ExecStart=/opt/remi/php74/root/usr/sbin/php-fpm --nodaemonize (code=killed, signal=SEGV) Main PID: 24028 (code=killed, signal=SEGV) 4 月 10 10:13:02 cent79 systemd[1]: Starting The PHP FastCGI Process Manager... 4 月 10 10:13:03 cent79 systemd[1]: php74-php-fpm.service: main process exited, code=killed, status=11/SEGV 4 月 10 10:13:03 cent79 systemd[1]: Failed to start The PHP FastCGI Process Manager. 4 月 10 10:13:03 cent79 systemd[1]: Unit php74-php-fpm.service entered failed state. 4 月 10 10:13:03 cent79 systemd[1]: php74-php-fpm.service failed. |
3
adoal 2022-04-10 11:53:49 +08:00
FPM 自己的日志呢,比如 /var/log 下有没有 php74-fpm 之类的文件或目录。
|
4
adoal 2022-04-10 11:55:04 +08:00
交互用户和服务用户表现不一样,感觉是文件权限问题。
|
5
NoahNye 2022-04-10 12:07:54 +08:00 via iPhone
服务配置成和手动启动一样的用户试试,日常里这种情况很多的确是权限问题,如果还不行就要查看是否有多个不同环境了,多个配置文件了,我大概会这样排查。
|
6
kiwi95 2022-04-10 12:20:22 +08:00 via Android
有可能是 service 文件里面没有写 restart ,只有 start stop 这几个命令
|
7
villivateur 2022-04-10 14:11:48 +08:00 via Android
@kiwi95 restart 就是 stop + start
|
8
azev OP @adoal /var/opt/remi/php74/log/php-fpm/error.log 中也没有什么有用信息
都是停止启动什么的 [10-Apr-2022 15:06:02] NOTICE: Terminating ... [10-Apr-2022 15:06:02] NOTICE: exiting, bye-bye! [10-Apr-2022 15:06:28] NOTICE: fpm is running, pid 24619 [10-Apr-2022 15:06:28] NOTICE: ready to handle connections [10-Apr-2022 15:06:28] NOTICE: systemd monitor interval set to 10000ms [10-Apr-2022 15:09:28] NOTICE: Terminating ... [10-Apr-2022 15:09:28] NOTICE: exiting, bye-bye! |
9
azev OP |
10
adoal 2022-04-10 19:14:59 +08:00
看到你在水木上贴的 unit 文件了,貌似也没啥特别的。
对了,你说是要启用一个扩展插件 修改了 php.ini ,然后就不对了?是啥插件? php 装好自带的还是另装的? php.ini 怎么改的? |
11
adoal 2022-04-10 19:16:23 +08:00
还有就是命令行上手启之后用 systemctl 也可以了?是持续多次启停都可以,还是要每次手启后只能用 systemctl 启一次?
多问问自己各种细节,说不定自己就找到问题了。 |
12
adoal 2022-04-10 19:17:13 +08:00
哦,不对,我看错了,是说使用 ExecStart 里的命令来启动可以,并不是用 systemctl
|
13
naturegreen 2022-04-10 19:21:55 +08:00 via Android
SELinux ?
|
14
azev OP @adoal 新装的插件 swoole_loader 不过这几次启动失败看到前面有个错误信息 就是关于那个插件的
看来是插件的问题 但是我手动启动怎么就没有问题呢 |
15
azev OP @naturegreen 是的 centos
新装了个 debian 虚拟机 没有这个问题了 同一个插件 so 文件 |
16
neilyoone 2022-04-10 20:11:38 +08:00
service 起服务 和 手动起服务 获取的环境变量可能是不一样的
具体以日志输出 排查. |
17
adoal 2022-04-10 20:12:56 +08:00
对了,除了环境之外好像还有 ulimit 之类的东西也可能不一样
|
19
azev OP |
20
adoal 2022-04-10 21:10:56 +08:00 1
呃,竟然开着 selinux 玩……遇到的大多数人装了 RH 系之后第一件事就是关 selinux ^_^
|
21
yogogo 2022-04-10 22:58:51 +08:00
@adoal 但没开 SELinux 很容易被挂挖矿,之前在谷歌云上面用的服务器 PHP 项目,关了 SELinux ,跑了一个礼拜就被挂挖矿,关端口也没有用,后来把 SELinux 开启,挖矿就停了
|
22
adoal 2022-04-10 23:33:27 +08:00
@yogogo 系统会被入侵的根本原因是有漏洞,SE 对系统的保护主要体现在即使因为有漏洞被爆栈了但可以限制服务进程被控制做其它动作的权力,把损失尽可能降低,但漏洞还是客观存在的,危险还是存在的,比如从系统层面是合法操作但会修改业务数据。所以尽管 SE 能保护系统免受某些侵害,但该修的漏洞还是要修的。
另外就是假如系统运维人员在部署应用软件时遵循 FHS 和发行版 packaging 的规范,SE 会保护得恰到好处,但很多人在没有学过规范的情况下会根据师傅传授或者网上搜来的自己乱搞一套,SE 就处处捣乱了,这时候只会开或者关 SE 就不够用,要去根据实际情况配置 context 。 所以很多习惯非规范的老司机针对初学者写的攻略往往第一件事是关 SE……而对初学者来说要玩转 SE 确实也不容易。 |