去看了他們的各種配置,太多太多,以現在初級的營運水準不可能一一瞭解,所以打算問大家有哪些你們熟悉的特別需要瞭解知道的配置,怎麼配置能更好的維護項目、提高效能。
回複內容:
去看了他們的各種配置,太多太多,以現在初級的營運水準不可能一一瞭解,所以打算問大家有哪些你們熟悉的特別需要瞭解知道的配置,怎麼配置能更好的維護項目、提高效能。
好大的問題,說說我個人關注哪些點,歡迎其他夥伴一起補充完善肯定會漏
安全
nginx(user配置項)、php-fpm(user,group配置項)等服務以及網站目錄的許可權、使用者和使用者組這個真的很重要
php安全方面還要注意系統層級的函數如果沒有項目需求全部禁用(disable_functions)
php不要開啟錯誤列印,很容易暴露資訊被攻擊
display_startup_errors = Off ,display_errors = Off
效能
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中增加配置,如
[xdebug]zend_extension="/Applications/MAMP/bin/php/php7.0.0/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so"xdebug.remote_enable = 1xdebug.remote_connect_back = 1xdebug.remote_port = 9000xdebug.scream=0 xdebug.cli_color=1xdebug.show_local_vars=1
Xdebug在Development環境是特別有用的,在Production環境時需要開啟OPcache,那就需要開啟php.ini中OPcache配置如:
[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
關於PHPTlog,建議使用monolog/monolog庫來處理日誌列印。
這裡推薦一個異常處理工具Sentry,和Tlog工具Logentries。
php-fpm:
pm 系列配置