


Introduction aux paramètres qui doivent être configurés dans nginx
1 : paramètres principaux
1.1 Worker_processes
# 指定nginx开启worker工作子进程数量# number默认1,建议配置数量与CPU核心数量相等worker_processes number复制代码
1.2 Worker_cpu_affinity
# nginx默认未开启利用多核CPU,开启某个核心该位置标志为1即可# worker_processes 最多开启8个,所以多核最多8个也就够用。示例配置开启4核worker_cpu_affinity 00000001 00000010 00000100 00001000复制代码
1.3 Worker_priority
# 进程优先级,数值越低占用资源越多# number默认10,值范围-20 ~ 20# 建议配置-10即可,最好别低于Linux系统进程-5优先级worker_priority number复制代码
1.4 worker_rlimit_nofile
# 一个子进程可以打开文件描述限制# nginx默认一个子进程打开文件描述限制数量 = (ulimt -u) / worker_processes# 因为进程处理连接任务很多时候不均衡,所以最好设置为与系统数量一致worker_rlimit_nofile (ulimit -u)复制代码
1.5 error_log
# file指定日志输出文件位置,默认logs/error.log# level指定日志输出最低级别,默认error级别。当然可以设置为debug、info等error_log file [level]复制代码
1.6 pid
# file默认值logs/pid.log,指定nginx中master进程的PID输出文件位置pid file复制代码
1.7 user
# user第二个参数user,配置nginx进程运行用户,默认nobody# group配置nginx进程运行用户组,默认nobodyuser user [group]复制代码
2 : paramètres d'événements
2.1 worker_connections
# nginx指定一个子进程可处理连接数量# number默认数量1024# nginx可处理连接总数 = worker_processes * worker_connecitonsworker_connections number复制代码
2.2 accept_mutex
Le paramètre accept_mutex est le commutateur de verrouillage mutex d'acceptation pour la connexion de traitement du processus de travail. La valeur par défaut est activée avant la version 1.11.3 et la valeur par défaut est désactivée dans les versions ultérieures
. 2.2.1 Phénomène Jingqun
Nginx peut configurer plusieurs processus de travail via le paramètre worker_processes, et plusieurs processus de travail écouteront le même port après le fork. Si une connexion externe arrive, tous les processus enfants seront réveillés pour saisir la connexion. À moins qu'un processus enfant ne gère avec succès l'événement d'acceptation, les processus enfants se rendormiront. Il en résulte de nombreux changements de contexte inutiles. Il s'agit du phénomène du troupeau tonitruant
2.2.2 accepter le traitement de verrouillage
nginx ajoute un mutex d'acceptation afin qu'il n'y ait qu'un seul processus enregistré dans epoll, évitant ainsi le phénomène du troupeau tonitruant. C'est-à-dire que lorsqu'une connexion arrive, il ne peut y avoir qu'un seul processus enfant à gérer
尝试获取accept锁if success 在epoll中注册accept事件else 在epoll中注销accept事件 处理所有连接事件 释放accept锁复制代码
2.2.3 Inconvénients de l'acceptation du verrouillage
Accepter le verrouillage semble résoudre parfaitement les problèmes causés par le phénomène de groupe tonitruant, mais cela entraîne également le problème que certains processus enfants sont très occupés et certains processus enfants sont très inactifs, en particulier dans les applications avec un débit et une concurrence relativement élevés. D'une manière générale, il s'agit du problème de la charge inégale des sous-processus de travail
2.2.4 Recommandations de configuration
- Pour les connexions courtes d'applications distribuées, il est préférable d'activer ce paramètre pour éviter trop de surcharge de changement de contexte
- Pour les applications à connexion longue, il est préférable de désactiver ce paramètre pour éviter une charge de connexion excessive sur un travailleur, entraînant une utilisation élevée du processeur d'un processus
2.3 accept_mutex_delay
Lorsque accept_mutex est activé, vous devez déboguer le paramètre accept_mutex_delay en fonction du scénario d'application. Ce paramètre spécifie le temps après lequel tous les processus enfants reprendront le verrou d'acceptation. Des valeurs de paramètres appropriées peuvent aider à réduire les problèmes de déséquilibre de charge des travailleurs. Valeur par défaut 500 ms
Recommandations associées : Tutoriel Nginx
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Pour permettre au serveur Tomcat d'accéder au réseau externe, vous devez : modifier le fichier de configuration Tomcat pour autoriser les connexions externes. Ajoutez une règle de pare-feu pour autoriser l'accès au port du serveur Tomcat. Créez un enregistrement DNS pointant le nom de domaine vers l'adresse IP publique du serveur Tomcat. Facultatif : utilisez un proxy inverse pour améliorer la sécurité et les performances. Facultatif : configurez HTTPS pour une sécurité accrue.

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

Pour résoudre l'erreur "Bienvenue sur nginx!", vous devez vérifier la configuration de l'hôte virtuel, activer l'hôte virtuel, recharger Nginx, si le fichier de configuration de l'hôte virtuel est introuvable, créer une page par défaut et recharger Nginx, puis le message d'erreur. disparaîtra et le site Web sera affiché normalement.

Étapes de déploiement de serveur pour un projet Node.js : Préparez l'environnement de déploiement : obtenez l'accès au serveur, installez Node.js, configurez un référentiel Git. Créez l'application : utilisez npm run build pour générer du code et des dépendances déployables. Téléchargez le code sur le serveur : via Git ou File Transfer Protocol. Installer les dépendances : connectez-vous en SSH au serveur et installez les dépendances de l'application à l'aide de npm install. Démarrez l'application : utilisez une commande telle que node index.js pour démarrer l'application ou utilisez un gestionnaire de processus tel que pm2. Configurer un proxy inverse (facultatif) : utilisez un proxy inverse tel que Nginx ou Apache pour acheminer le trafic vers votre application

La conversion d'un fichier HTML en URL nécessite un serveur Web, ce qui implique les étapes suivantes : Obtenir un serveur Web. Configurez un serveur Web. Téléchargez le fichier HTML. Créez un nom de domaine. Acheminez la demande.

La vérification de sécurité des types de paramètres C++ garantit que les fonctions n'acceptent que les valeurs des types attendus via des vérifications au moment de la compilation, des vérifications au moment de l'exécution et des assertions statiques, évitant ainsi tout comportement inattendu et les plantages du programme : Vérification du type au moment de la compilation : le compilateur vérifie la compatibilité des types. Vérification du type d'exécution : utilisez Dynamic_cast pour vérifier la compatibilité des types et lancez une exception s'il n'y a pas de correspondance. Assertion statique : affirmer les conditions de type au moment de la compilation.

Les instructions les plus couramment utilisées dans Dockerfile sont : FROM : créer une nouvelle image ou dériver une nouvelle image RUN : exécuter des commandes (installer le logiciel, configurer le système) COPY : copier des fichiers locaux dans l'image ADD : similaire à COPY, il peut automatiquement décompresser tar ou obtenir des fichiers URL CMD : Spécifiez la commande au démarrage du conteneur EXPOSE : Déclarez le port d'écoute du conteneur (mais pas public) ENV : Définissez la variable d'environnement VOLUME : Montez le répertoire hôte ou le volume anonyme WORKDIR : Définissez le répertoire de travail dans le conteneur ENTRYPOINT : spécifiez ce qu'il faut exécuter lorsque le conteneur démarre. Fichier exécutable (similaire à CMD, mais ne peut pas être écrasé)

Oui, Node.js est accessible de l’extérieur. Vous pouvez utiliser les méthodes suivantes : Utilisez Cloud Functions pour déployer la fonction et la rendre accessible au public. Utilisez le framework Express pour créer des itinéraires et définir des points de terminaison. Utilisez Nginx pour inverser les requêtes de proxy vers les applications Node.js. Utilisez des conteneurs Docker pour exécuter des applications Node.js et les exposer via le mappage de ports.
