다양한 구성을 보러 갔는데 너무 많고 현재의 초보적인 운영 및 유지 관리 수준으로는 모두 이해하는 것이 불가능하므로 여러분이 알고 계시는 구성 중에서 어떤 구성이 필요한지 여쭤보고 싶습니다. 좋은 유지 관리 항목, 향상된 성능을 이해하고 더 효과적으로 구성하는 방법.
다양한 구성을 보러 갔는데 너무 많고 현재의 초보적인 운영 및 유지 관리 수준으로는 모두 이해하는 것이 불가능하므로 여러분이 알고 계시는 구성 중에서 어떤 구성이 필요한지 여쭤보고 싶습니다. 좋은 유지 관리 항목, 향상된 성능을 이해하고 더 효과적으로 구성하는 방법.
정말 큰 질문입니다. 제가 개인적으로 우려하는 점을 말씀드리겠습니다. 다른 파트너가 추가하여 개선해 주시면 감사하겠습니다.
안전
nginx(사용자 구성 항목), php-fpm(사용자, 그룹 구성 항목) 및 기타 서비스는 물론 웹사이트 디렉토리 권한, 사용자 및 사용자 그룹이 정말 중요합니다
PHP 보안 측면에서 프로젝트 요구 사항이 없는 경우 모든 시스템 수준 기능을 비활성화하는 것도 주의하시기 바랍니다(disable_functions)
PHP에서 오류 인쇄를 켜지 마세요. 정보 노출 및 공격을 받기 쉽습니다
<code>display_startup_errors = Off ,display_errors = Off</code>
실적
nginx 프로세스 수worker_processes, 최대 연결 수worker_connections
php-fpm 성능 관련: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers, pm.max_requests
로그 모니터링 및 분석
nginx 로그: access_log는 log_format과 협력합니다
php 로그: log_errors
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는 개발 환경에서 특히 유용합니다. 프로덕션 환경에서 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>