php:用systemctl管理php-fpm服务(PHP 8.2.5)
<h2>一,生成启动文件:</h2><div>复制源码中的init.d.php-fpm作为启动文件</div>
<div>
<pre class="language-bash highlighter-hljs"><code># mkdir /usr/local/soft/php8.2.5/daemon
# cd /usr/local/source/php/php-8.2.5/
# cp sapi/fpm/init.d.php-fpm /usr/local/soft/php8.2.5/daemon/php-fpm
# chmod 740 /usr/local/soft/php8.2.5/daemon/php-fpm</code></pre>
</div>
<div>说明:可以直接使用这个程序启动和停止php-fpm,例如:</div>
<div>启动</div>
<div>
<pre class="language-bash highlighter-hljs"><code># /usr/local/soft/php8.2.5/daemon/php-fpm start
Starting php-fpm done</code></pre>
</div>
<div>停止</div>
<div>
<pre class="language-bash highlighter-hljs"><code># /usr/local/soft/php8.2.5/daemon/php-fpm stop
Gracefully shutting down php-fpm . done</code></pre>
</div>
<h2>二,用systemctl管理php-fpm服务:第一种方法:自定义service文件</h2>
<div>编辑配置文件</div>
<div>
<pre class="language-bash highlighter-hljs"><code># vi /usr/lib/systemd/system/php-fpm.service</code></pre>
</div>
<div>内容:</div>
<div>
<pre class="language-bash highlighter-hljs"><code>
Description=php-fpm
After=network.target
Type=forking
ExecStart=/usr/local/soft/php8.2.5/daemon/php-fpm start
ExecStop=/usr/local/soft/php8.2.5/daemon/php-fpm stop
PrivateTmp=true
WantedBy=multi-user.target</code></pre>
</div>
<div>重新加载service文件</div>
<div>
<pre class="language-bash highlighter-hljs"><code># systemctl daemon-reload</code></pre>
</div>
<div>启动服务</div>
<div>
<pre class="language-bash highlighter-hljs"><code># systemctl start php-fpm.service</code></pre>
</div>
<div>停止服务</div>
<div>
<pre class="language-bash highlighter-hljs"><code># systemctl stop php-fpm.service</code></pre>
</div>
<div>
<p>说明:刘宏缔的架构森林是一个专注架构的博客,</p>
<p>网站:https://blog.imgtouch.com<br>原文: https://blog.imgtouch.com/index.php/2023/06/06/php-yong-systemctl-guan-li-phpfpm-fu-wu-php-8-2-5/</p>
<p> 对应的源码可以访问这里获取: https://github.com/liuhongdi/<br> 或: https://gitee.com/liuhongdi</p>
<p>说明:作者:刘宏缔 邮箱: 371125307@qq.com</p>
<h2>三,用systemctl管理php-fpm服务:第二种方法:用源码中的service文件:</h2>
<p>从源码中复制</p>
<pre class="language-bash highlighter-hljs"><code>root@lhdpc:/usr/local/source/php8/php-8.2.5/sapi/fpm# cp php-fpm.service /etc/systemd/system/</code></pre>
<p> 重新加载servcie文件:</p>
<pre class="language-ruby highlighter-hljs"><code>root@lhdpc:/usr/local/source/php8/php-8.2.5/sapi/fpm# systemctl daemon-reload</code></pre>
<p>启动:</p>
<pre class="language-bash highlighter-hljs"><code># systemctl start php-fpm.service</code></pre>
<p>说明:请先在php-fpm.conf中指定日志路径,</p>
<p>否则会报错:</p>
<pre class="language-bash highlighter-hljs"><code># systemctl status php-fpm.service
× php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (;;file://img/usr/lib/systemd/system/php-fpm.service/usr/lib/systemd/system/php-fpm.service;;; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2023-05-11 14:21:53 CST; 18s ago
Duration: 57ms
Process: 353560 ExecStart=/usr/local/soft/php8.2.5/sbin/php-fpm --nodaemonize --fpm-config /usr/local/soft/php8.2.5/etc/php-fpm.conf (code=exited, status=78)
Main PID: 353560 (code=exited, status=78)
CPU: 56ms
May 11 14:21:53 img systemd: Started The PHP FastCGI Process Manager.
May 11 14:21:53 img php-fpm: ERROR: failed to open error_log (/usr/local/soft/php8.2.5/var/log/php-fpm.log): Read-only file system (30)
May 11 14:21:53 img php-fpm: ERROR: failed to post process the configuration
May 11 14:21:53 img php-fpm: ERROR: FPM initialization failed
May 11 14:21:53 img systemd: php-fpm.service: Main process exited, code=exited, status=78/CONFIG
May 11 14:21:53 img systemd: php-fpm.service: Failed with result 'exit-code'. </code></pre>
<p>设置例如:</p>
<pre class="language-bash highlighter-hljs"><code>;error_log = log/php-fpm.log
error_log = /web/logs/phplogs/php-fpm.log</code></pre>
</div>
<h2>四,查看php的版本:</h2>
<div>
<pre class="language-bash highlighter-hljs"><code># /usr/local/soft/php8.2.5/bin/php --version
PHP 8.2.5 (cli) (built: May 10 2023 14:51:39) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.5, Copyright (c) Zend Technologies</code></pre>
</div>
<div> </div><br><br>
来源:https://www.cnblogs.com/architectforest/p/17390722.html
頁:
[1]