首页  >  文章  >  后端开发  >  中小型项目中nginx、php-fpm、php其中有哪些配置用的比较多且重要且需要关注???

中小型项目中nginx、php-fpm、php其中有哪些配置用的比较多且重要且需要关注???

WBOY
WBOY原创
2016-09-30 09:37:34920浏览

去看了他们的各种配置,太多太多,以现在初级的运维水准不可能一一了解,所以打算问大家有哪些你们熟悉的特别需要了解知道的配置,怎么配置能更好的维护项目、提高性能。

回复内容:

去看了他们的各种配置,太多太多,以现在初级的运维水准不可能一一了解,所以打算问大家有哪些你们熟悉的特别需要了解知道的配置,怎么配置能更好的维护项目、提高性能。

好大的问题,说说我个人关注哪些点,欢迎其他伙伴一起补充完善肯定会漏

安全

  1. nginx(user配置项)、php-fpm(user,group配置项)等服务以及网站目录的权限、用户和用户组这个真的很重要

  2. php安全方面还要注意系统级别的函数如果没有项目需求全部禁用(disable_functions)

  3. php不要打开错误打印,很容易暴露信息被攻击

<code>display_startup_errors = Off ,display_errors = Off</code>

性能

  1. nginx进程数worker_processes、最大连接数worker_connections

  2. php-fpm性能相关:pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers、pm.max_requests

日志监控分析

  1. nginx日志:access_log配合log_format

  2. php记录日志:log_errors

  3. php-fpm记录慢执行日志:slowlog配合request_slowlog_timeout

我还会关注下系统级别:iptables、/etc/sysctl.conf等等

建议

最好自己在写点脚本监控内存、流量、cpu、进程数、磁盘空间等等、也可以用监控产品、开源监控项目等等都可以,合理控制报警策略。

然后定期分析上面配置中所产出的日志文件,把一些响应慢的日志、错误的时间、执行慢的日志都排查一下理解一下,解决一些日常的运行中性能问题

php的配置中基本都是默认不需要改,主要的就是添加Xdebug时需要在php.ini中增加配置,如

<code>[xdebug]
zend_extension="/Applications/MAMP/bin/php/php7.0.0/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
xdebug.scream=0 
xdebug.cli_color=1
xdebug.show_local_vars=1</code>

Xdebug在Development环境是特别有用的,在Production环境时需要开启OPcache,那就需要打开php.ini中OPcache配置如:

<code>[OPcache]
zend_extension="/Applications/MAMP/bin/php/php7.0.0/lib/php/extensions/no-debug-non-zts-20151012/opcache.so"
  opcache.memory_consumption=128
  opcache.interned_strings_buffer=8
  opcache.max_accelerated_files=4000
  opcache.revalidate_freq=60
  opcache.fast_shutdown=1
  opcache.enable_cli=1</code>

关于PHP日志处理,建议使用monolog/monolog库来处理日志打印。
这里推荐一个异常处理工具Sentry,和日志处理工具Logentries。

php-fpm:

<code>pm 系列配置</code>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn