Cet article présente principalement l'optimisation de la configuration de gestion de nginx, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
Idées d'optimisation.
1. Ajustez les paramètres pour masquer les informations sur le numéro de version du logiciel nginx
server_tokens off;
2. Modifier l'utilisateur par défaut du service nginx
user nginx nginx;
3. Optimiser le nombre de processus de travail du service nginx
worker_processes cpu*核数;
4. Optimiser la liaison de différents processus nginx à différents processeurs
worker_cpu_affinit 0001 0010 0100 1000 0001 0010 0100 1000;
5. Optimisation du modèle de traitement
use epoll
6. Ajuster le nombre maximum de connexions dans un seul processus
worker_connections 20480;
7. Le nombre maximum de fichiers ouverts dans le processus de travail nginx
worker_rlimit_nofile 65535;
8. Activer le mode de transfert de fichiers efficace
sendfile on;
est utilisé pour activer le mode de transfert de fichiers efficace. En même temps, l'activation des deux instructions tcp_nopush et tcp_nodelay peut empêcher le réseau et. blocage des E/S disque et amélioration de l'efficacité du travail de nginx.
9. Optimiser le délai d'expiration de la connexion
keepalive_timeout 0; //结束响应后立即断开tcp连接。
10. Optimisation FastCGI
11. Configurer la compression nginx gzip pour obtenir une optimisation des performances
gzip on; gzip_min_length 1k; gzip_buffers 4 32k; gzip_comp_level 9; gzip_vary on;
12. le cache expire implémente l'optimisation des performances
nginx expires 3650d;
13. Optimisation et sécurité liées aux journaux nginx
14 Restreindre l'accès aux programmes et aux fichiers en fonction des extensions.
dell all;allow all;
15. Anti-hotlinking
HTTP referer
1. Optimisation au niveau du système
echo 500000 > /proc/sys/net/core/somaxconn //设置最大连接数 echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle //加快tcp回收 echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse //空的tcp允许回收利用 echo 0 > /proc/sys/net/ipv4/tcp_syncookies //关闭洪水抵御
2. fpm Configuration optimisée
nginx transmet les requêtes à php-fpm pour traitement. Lorsque nginx transmet de nombreuses requêtes, le processus php-fpm n'est pas suffisant et un processus enfant sera généré.
Cependant, la génération de processus enfants nécessite une planification du noyau, ce qui prend du temps.
Si la simultanéité du site Web est relativement importante, vous pouvez générer statiquement plusieurs sous-processus à la fois et les conserver en mémoire.
Modifier phjp-fpm.conf
pm=static //让php-fpm进程始终保持,不需要动态生成pm.max_children=32 始终保持的子进程数量
3. Optimisation php&mysql
Niveau noyau : augmenter le nombre de connexions et accélérer le recyclage TCP
Niveau mysql : augmenter le nombre de connexions
Niveau PHP : utilisez des connexions longues pour enregistrer le nombre de connexions
Utilisez le cache mémoire (memcached
) pour réduire la pression sur MySQL
Remarque
Le cache mémoire convient à la mise en cache de requêtes SQL complexes. Étant donné que php
et memcached
doivent également établir une connexion TCP, les requêtes SQL simples ne nécessitent pas de mise en cache.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!