Maison >développement back-end >tutoriel php >optimisation de la configuration de la gestion nginx

optimisation de la configuration de la gestion nginx

不言
不言original
2018-05-08 10:31:271848parcourir

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

Optimisation de nginx

Idées d'optimisation.
optimisation de la configuration de la gestion nginx

Optimisation de base

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

Optimisation au niveau du système

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn