2018-3-19 Linux学习笔记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了2018-3-19 Linux学习笔记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2744字,纯文字阅读大概需要4分钟。
内容图文
12.21 php-fpm的pool- 需求背景:
假设nginx有多个站点,每一个站点使用各自的pool,这样当一个站点有问题(比如502错误)时,其他站点不会受到影响. - 以下以设置[www]和[karu]两个pool为例来学习.
具体操作步骤: vim /usr/local/php-fpm/etc/php-fpm.conf #在[global]部分增加
include = etc/php-fpm.d/*.conf- mkdir /usr/local/php-fpm/etc/php-fpm.d/
- cd /usr/local/php-fpm/etc/php-fpm.d/
- 新增两个配置文件www.con 和 karu.com并编辑如下:
vim www.conf #内容如下
[www]
listen = /tmp/php-fcgi.sock
listen.mode=666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024vim karu.conf #内容如下
[karu]
listen = /tmp/karu.sock
listen.mode=666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024- /usr/local/php-fpm/sbin/php-fpm -t #检测是否有语法错误
- /etc/init.d/php-fpm restart #重启php-fpm服务以让配置生效
12.22 php-fpm慢执行日志[非常有用]
- 需求背景:
对于LNMP架构的网站,如果发现网站慢了,可借助php-fpm的慢执行日志来排查由于php导致的缓解问题. - 实现的具体步骤如下:
- vim /usr/local/php-fpm/etc/php-fpm.d/karu.conf
- 在末尾加入如下内容:
request_slowlog_timeout = 1 #记录php执行超过1秒的操作
slowlog = /usr/local/php-fpm/var/log/www-slow.log #定义慢执行日志所在位置 - /usr/local/php-fpm/sbin/php-fpm -t
- /etc/init.d/php-fpm reload
- 模拟一个慢执行的php:
- vim /data/wwwroot/default/sleep.php #写入如下内容
<?php
echo "test slow log";
sleep(2);
echo "done";
?>
- 测试结果:
curl -x127.0.0.1:80 default/sleep.php
cat /usr/local/php-fpm/var/log/www-slow.log
12.23 open_basedir
- (1) php-fpm中open_basedir的作用是限制php在指定的目录里活动,以提高站点的安全性.
- 具体配置如下:
vim /usr/local/php-fpm/etc/php-fpm.d/karu.conf - 加入如下内容
php_admin_value[open_basedir]=/data/wwwroot/default:/tmp/ - /usr/local/php-fpm/sbin/php-fpm -t
- /etc/init.d/php-fpm reload
测试:
curl -x127.0.0.1:80 default/sleep.php
curl -x127.0.0.1:80 default/sleep.php -I- (2) 配置php-fpm错误日志
具体步骤如下:
vi /usr/local/php-fpm/etc/php.ini
display_errors = Off #不让其他人能通过浏览器看到错误信息
log_errors = On #打开错误日志记录功能
error_log = /usr/local/php-fpm/var/log/php_errors.log #错误日志存放位置
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT #定义错误日志级别- 再次编辑karu.conf
vim /usr/local/php-fpm/etc/php-fpm.d/karu.conf - 故意将其写错,比如:
php_admin_value[open_basedir]=/data/wwwroot/asdefault:/tmp/ - /usr/local/php-fpm/sbin/php-fpm -t
/etc/init.d/php-fpm reload
- 测试:
curl -x127.0.0.1:80 default/sleep.php
cat /usr/local/php-fpm/var/log/php_errors.log #查看错误日志12.24 php-fpm进程管理
- 在php-fpm的配置文件中有进程管理相关配置项,比如:
vim /usr/local/php-fpm/etc/php-fpm.d/karu.conf - 其具体含义如下:
- pm = dynamic
动态进程管理,也可以是static. 注意当为static时,以下的几项就都不生效了! - pm.max_children = 50
最大子进程数 - pm.start_servers = 20
启动服务时会启动的进程数 - pm.min_spare_servers = 5
定义在空闲时段,子进程数的最少数量,如果达到这个数值时,php-fpm服务会自动派生新的子进程。 - pm.max_spare_servers = 35
定义在空闲时段,子进程数的最大值,如果高于这个数值就开始清理空闲的子进程。 - pm.max_requests = 500
定义一个子进程最多处理的请求数,也就是说在一个php-fpm的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。
原文:http://blog.51cto.com/13517946/2088686
内容总结
以上是互联网集市为您收集整理的2018-3-19 Linux学习笔记全部内容,希望文章能够帮你解决2018-3-19 Linux学习笔记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。