


Comprenez le didacticiel de configuration de Nginx en quelques secondes et commencez rapidement à développer des sites Web.
Comprenez le didacticiel de configuration de nginx en quelques secondes et commencez à développer des sites Web rapidement
Récemment, de plus en plus de développeurs choisissent d'utiliser nginx comme serveur proxy pour le développement de sites Web. nginx est devenu le premier choix pour de nombreuses personnes en raison de ses hautes performances, de sa faible consommation de ressources et de sa configuration flexible. Mais pour les novices, configurer nginx peut s’avérer difficile. Cet article vous guidera étape par étape pour comprendre la configuration de nginx et commencer rapidement à développer un site Web grâce à des exemples de code.
1. Installez nginx
Tout d'abord, vous devez installer nginx sur votre ordinateur ou votre serveur. Les étapes spécifiques varient en fonction du système d'exploitation. Voici Ubuntu Linux à titre d'exemple :
- Ouvrez le terminal et entrez la commande suivante pour installer nginx :
sudo apt-get update sudo apt-get install nginx
- Une fois l'installation terminée, entrez la commande suivante pour démarrer. le service nginx :
sudo service nginx start
- Ouvrir Dans le navigateur, saisissez
http://localhost
Si vous pouvez voir la page d'accueil de nginx, cela signifie que nginx est installé avec succès.http://localhost
,如果能看到nginx的欢迎页面,则说明nginx安装成功。
二、配置nginx
nginx的配置文件位于/etc/nginx/nginx.conf
,我们可以使用任何文本编辑器打开它。以下是一个基本的nginx配置示例:
worker_processes 1; events { worker_connections 1024; } http { server { listen 80; server_name localhost; location / { root /var/www/html; index index.html; } } }
以上配置:
worker_processes
表示nginx使用的进程数,通常设置为CPU核心数的2倍。worker_connections
表示每个进程的最大连接数。http
块用于配置HTTP服务,默认监听80端口。server
块用于配置一个虚拟主机,可以有多个。listen
指定监听的端口。server_name
指定虚拟主机的域名。location
块用于配置请求的路由和处理方式。
三、开发网站
- 在
/var/www/html
目录下创建一个名为example.com
的文件夹,用于存放网站文件。 - 在
example.com
文件夹中创建一个名为index.html
的文件,输入以下内容:
<!DOCTYPE html> <html> <head> <title>Welcome to example.com</title> </head> <body> <h1>Hello, world!</h1> </body> </html>
- 打开终端,输入以下命令重新加载nginx的配置文件:
sudo service nginx reload
- 打开浏览器,输入
http://localhost
或http://example.com
,你将看到刚才创建的网页。
四、进一步配置
除了基本配置外,nginx还有很多功能强大的模块可以使用。以下是一些常用的配置示例:
- 静态文件缓存
http { server { ... location /static { root /var/www/html; expires 7d; } } }
以上配置将/var/www/html/static
目录下的静态文件进行缓存,有效期为7天。
- 反向代理
http { server { ... location /api { proxy_pass http://api.example.com; } } }
以上配置将匹配/api
路径的请求转发给http://api.example.com
。
- 负载均衡
http { upstream backend { server backend1.example.com; server backend2.example.com; } server { ... location / { proxy_pass http://backend; } } }
以上配置将请求分发给backend
2. Configurer nginx
Le fichier de configuration nginx se trouve dans /etc/nginx/nginx.conf
, nous pouvons utiliser n'importe quel éditeur de texte pour l'ouvrir. Voici un exemple de configuration de base de nginx :
- 🎜
worker_processes
représente le nombre de processus utilisés par nginx, généralement défini sur 2 fois le nombre de cœurs de processeur. 🎜🎜worker_connections
représente le nombre maximum de connexions par processus. 🎜🎜Le bloc http
est utilisé pour configurer le service HTTP, qui écoute le port 80 par défaut. 🎜🎜Le bloc server
permet de configurer un hôte virtuel, il peut y en avoir plusieurs. 🎜🎜listen
spécifie le port d'écoute. 🎜🎜server_name
spécifie le nom de domaine de l'hôte virtuel. 🎜🎜Le bloc location
est utilisé pour configurer la façon dont les demandes sont acheminées et traitées. 🎜example.com
dans le répertoire /var/www/html
pour stocker les fichiers du site Web. 🎜🎜Créez un fichier nommé index.html
dans le dossier example.com
et saisissez le contenu suivant : 🎜🎜rrreee🎜🎜Ouvrez le terminal et saisissez la commande suivante pour recharger Fichier de configuration nginx : 🎜🎜rrreee- 🎜Ouvrez le navigateur et saisissez
http://localhost
ou http://example.com
, vous verra la page Web que vous venez de créer. 🎜🎜🎜4. Configuration supplémentaire🎜🎜En plus de la configuration de base, nginx dispose également de nombreux modules puissants qui peuvent être utilisés. Voici quelques exemples de configuration couramment utilisés : 🎜🎜🎜Mise en cache des fichiers statiques🎜🎜rrreee🎜La configuration ci-dessus mettra en cache les fichiers statiques dans le répertoire /var/www/html/static
et la période de validité est de 7 jours. 🎜🎜🎜Proxy inverse🎜🎜rrreee🎜La configuration ci-dessus transmettra les requêtes correspondant au chemin /api
vers http://api.example.com
. 🎜🎜🎜Équilibrage de charge🎜🎜rrreee🎜La configuration ci-dessus distribue les requêtes à plusieurs serveurs backend définis dans backend
pour réaliser l'équilibrage de charge. 🎜🎜5. Résumé🎜🎜Grâce à l'introduction de cet article, je pense que tout le monde a une certaine compréhension de la configuration de nginx et peut rapidement commencer à développer des sites Web. Bien sûr, les fonctions de nginx sont bien plus que cela, et de nombreuses fonctionnalités et plug-ins avancés n'attendent que vous pour les explorer. J'espère que cet article vous sera utile et je vous souhaite de développer un site Web de premier ordre dans le monde de 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

Undress AI Tool
Images de déshabillage gratuites

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.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

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)

1. Le premier choix pour la combinaison Laravel Mysql Vue / React dans la communauté de questions et réponses de développement PHP est le premier choix pour la combinaison Laravel Mysql Vue / React, en raison de sa maturité dans l'écosystème et de l'efficacité de développement élevée; 2. Les performances élevées nécessitent une dépendance à la cache (redis), une optimisation de la base de données, des files d'attente CDN et asynchrones; 3. La sécurité doit être effectuée avec le filtrage d'entrée, la protection CSRF, les HTTP, le cryptage de mot de passe et le contrôle d'autorisation; 4. Publicité facultative, abonnement aux membres, récompenses, commissions, paiement des connaissances et autres modèles, le noyau est de faire correspondre le ton communautaire et les besoins des utilisateurs.

Lorsque Nginx connaît une erreur "ToomyOpenFiles", c'est généralement parce que le système ou le processus a atteint la limite du descripteur de fichier. Les solutions incluent: 1. Augmenter les limites douces et dures du système Linux, définir les paramètres pertinents de Nginx ou exécuter les utilisateurs dans /etc/security/limits.conf; 2. Ajustez la valeur Worker_Connections de Nginx pour s'adapter au trafic attendu et assurer la configuration surchargée; 3. Augmentez la limite supérieure des descripteurs de fichiers au niveau du système fs.file-max, edit /etc/sysctl.conf et appliquez des modifications; 4. Optimiser l'utilisation du journal et des ressources et réduisez l'utilisation de la poignée des fichiers inutile, comme l'utilisation d'Open_L

Le rôle principal de Homebrew dans la construction de l'environnement Mac est de simplifier l'installation et la gestion des logiciels. 1. Homebrew gère automatiquement les dépendances et encapsule les processus de compilation et d'installation complexes en commandes simples; 2. Fournit un écosystème de package logiciel unifié pour assurer la normalisation de l'emplacement et de la configuration de l'installation logicielle; 3. Intègre les fonctions de gestion des services et peut facilement démarrer et arrêter les services via BrewServices; 4. Mise à niveau et maintenance des logiciels pratiques et améliore la sécurité et les fonctionnalités du système.

Pour activer la prise en charge HTTP / 2 ou HTTP / 3 de Nginx, les conditions préalables doivent être respectées et configurées correctement; HTTP / 2 nécessite Nginx1.9.5, OpenSSL1.0.2 et l'environnement HTTPS; Ajouter le module --avec-http_v2_module lors de la configuration, modifiez l'instruction d'écoute à écouter443ssslhttp2; et surcharger le service; HTTP / 3 est basé sur la quic, et des modules tiers tels que Nginx-Quic sont nécessaires pour introduire des branches BoringSSL ou OpenSSLQUIC pendant la compilation et configurer les ports d'écoute UDP; Les problèmes courants pendant le déploiement incluent l'ALPN non activé, le certificat incompatible, les restrictions de pare-feu et les erreurs de compilation, il est recommandé d'utiliser la priorité

Pour résoudre le problème de l'incohérence entre l'environnement PHP et la production, le noyau consiste à utiliser les capacités de conteneurisation et d'orchestration de Kubernetes pour atteindre la cohérence environnementale. Les étapes spécifiques sont les suivantes: 1. Créez une image Docker unifiée, y compris toutes les versions PHP, extensions, dépendances et configurations de serveurs Web pour s'assurer que la même image est utilisée dans le développement et la production; 2. Utilisez la configmap de Kubernetes et le secret pour gérer les configurations non sensibles et sensibles, et obtenez une commutation flexible de différentes configurations d'environnement via des supports de volume ou une injection variable d'environnement; 3. Assurer la cohérence du comportement de l'application via des fichiers unifiés de définition de déploiement de Kubernetes (tels que le déploiement et le service) et inclure dans le contrôle de version; 4

1. Les cadres traditionnels du backend du commerce électronique PHP comprennent Laravel (développement rapide, écologie forte), Symfony (niveau d'entreprise, structure stable), YII (excellentes performances, adaptées aux modules standardisés); 2. La pile technologique doit être équipée du cache MySQL Redis, de la file d'attente de messages RabbitMQ / Kafka, du NGINX PHP-FPM et de la séparation frontale est considérée; 3. Une architecture de concurrence élevée doit être superposée et modulaire, la base de données de la base de données et la base de données de séparation / distribution d'écriture, accélérée avec le cache et le CDN, le traitement asynchrone des tâches, le partage d'équilibrage de charge et de session, progressivement micro-service et établir un système de surveillance et d'alarme; 4. Les chemins de monétisation multiples comprennent la différence de prix du produit ou la commission de plate-forme, la publicité sur le site, l'abonnement SaaS, le développement de développement personnalisé et le marché du plug-in, la connexion API

Dans la configuration de Nginx, les symboles @ dans le bloc d'emplacement sont utilisés pour définir les emplacements nommés. Ceux-ci sont des points de terminaison utilisés en interne et ne peuvent pas être appariés directement par la demande du client. Ils sont généralement appelés via les directives error_page, try_files ou réécrivent. 1. L'emplacement de dénomination commence par @. Par exemple, Emplacement @ NotFound ne répondra pas aux demandes directes, mais déclenchera à partir d'autres pièces de configuration; 2. Il est souvent utilisé pour la gestion des erreurs personnalisée, le routage interne et le support d'agent backend; 3. Par exemple, combiné avec Try_Files, transférant à @backend lorsque les fichiers statiques n'existent pas; 4. Les notes incluent: non directement accessible, éviter les conflits de nommage et utiliser des noms descriptifs. Les emplacements nommés peuvent inclure

Après avoir modifié la configuration Nginx, vous devez d'abord tester la syntaxe, puis recharger le service. 1. Utilisez Nginx-T pour vérifier la syntaxe du fichier de configuration. Si l'invite "syntaxisok" et "testissuccessful" sont invitées, cela signifie qu'il est correct; S'il y a une erreur, la ligne de problème spécifique sera affichée. 2. Si les autorisations de fichier de configuration sont élevées, vous devez utiliser Sudonginx-T pour exécuter. 3. Confirmez que le test est réellement chargé. Vous pouvez spécifier le chemin du chemin via nginx-t-c / path / to / your / nginx.conf, ou afficher le fichier de configuration utilisé par le processus principal via ps-ef | grepnginx. 4. Une fois le test passé, exécutez le service de surcharge de Sudonginx-Sreload pour rendre la nouvelle configuration
