Table des matières
Une introduction à Nginx" >Une introduction à Nginx
2.1 Installer les dépendances pcre " >2.1 Installer les dépendances pcre
2.2 安装openssl,zlib等依赖 " >2.2 安装openssl,zlib等依赖
2.3 安装nginx " >2.3 安装nginx
2.4 启动nginx " >2.4 启动nginx
2.5 Nginx常用的命令
" >2.5 Nginx常用的命令
2.6 Nginx的配置文件 " >2.6 Nginx的配置文件
三 Nginx配置反向代理" >三 Nginx配置反向代理
3.1 ngix代理流程 " >3.1 ngix代理流程
三 Nginx配置反向代理" >三 Nginx配置反向代理
3.1 ngix代理流程 < /span>" >3.1 ngix代理流程 < /span>
3.2 配置ip和域名的绑定关系 " >3.2 配置ip和域名的绑定关系
3.3 在nginx配置请求转发
" >3.3 在nginx配置请求转发
3.4 根据请求后缀分发 " >3.4 根据请求后缀分发
四 Nginx配置负载均衡" >四 Nginx配置负载均衡
4.1 什么是负载均衡 " >4.1 什么是负载均衡
🎜Équilibrage de charge de quatre configurations Nginx🎜
🎜" >4.1 Qu'est-ce que l'équilibrage de charge🎜 🎜
4.2 配置nginx.conf " >4.2 配置nginx.conf
4.3 测试效果 " >4.3 测试效果
4.4 nginx支持的几种负载策略
" >4.4 nginx支持的几种负载策略
Maison Opération et maintenance Nginx Tutoriel Nginx super simple, lisez simplement cet article pour commencer

Tutoriel Nginx super simple, lisez simplement cet article pour commencer

Jul 26, 2023 pm 05:05 PM
nginx

Une introduction à Nginx

1.1 Qu'est-ce que Nginx

Nginx是一个高性能的http和反向代理服务器,其特点是占用内存小,并发能力强。Nginx est spécialement développé pour l'optimisation des performances. La performance est sa considération la plus importante. Il peut résister aux tests de charge élevée. il peut prendre en charge jusqu'à 50 000 connexions simultanées.

1.2 Proxy inverse

Proxy avant : configurez le serveur proxy dans le navigateur et accédez à Internet via le serveur proxy.

Proxy inverse : envoyez la demande au serveur proxy inverse, et le serveur proxy inverse sélectionne le serveur cible pour obtenir les données, puis les renvoie au client. À ce stade, le serveur proxy inverse et le serveur cible ne font qu'un. serveur vers le monde extérieur, exposant la fuite est l'adresse du serveur proxy.

1.3 Équilibrage de charge

Si le nombre de requêtes est trop important et ne peut pas être traité par un seul serveur, nous augmentons le nombre de serveurs puis distribuons les requêtes à chaque serveur. La situation initiale de concentration des requêtes sur. un seul serveur est modifié pour demander la distribution. Sur plusieurs serveurs, il s'agit d'un équilibrage de charge.

1.4 Séparation des dynamiques et des statiques

Afin d'accélérer la vitesse d'analyse du serveur, les pages dynamiques et les pages statiques peuvent être transmises à différents serveurs pour être analysées, accélérant ainsi la vitesse d'analyse et réduisant la pression sur le serveur unique d'origine. Deuxième installation de Nginx ;margin-left: 2px;color: rgb(248, 35, 117);background: rgb(248, 248, 248);">Nginx nécessite plusieurs packages de dépendances, qui sont pcre,openssl ,zlib, après l'installation de nginx doit d'abord installer ces dépendances.

2.1 Installer les dépendances pcre

Nginx需要几个依赖包,分别是pcreopensslzlib,在安装nginx之前需要先安装这几个依赖。

2.1 安装pcre依赖

  1. 使用命令下载pcre压缩包

1wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
Copier après la connexion
  1. 解压压缩文件

1tar -xvf  pcre-8.37.tar.gz
Copier après la connexion
  1. 进入解压后的名录,执行以下命令

1./configure
Copier après la connexion
  1. 使用以下命令进行编译安装

1make && make install
Copier après la connexion
  1. 查看安装的pcre

      < li style="font-size: hériter;color: hériter;line-height: hériter;margin-bottom: 0.5em;">

      Utiliser la commande pour téléchargerpcrePaquet compressé

    1pcre-config --version
    Copier après la connexion
    Copier après la connexion
    1. 🎜Décompressez le fichier compressé🎜🎜

    1yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
    Copier après la connexion
    Copier après la connexion
    1. 🎜Entrez le répertoire décompressé et exécutez la commande suivante 🎜🎜

    1./nginx
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion
    1. 🎜Utilisez la commande suivante pour compiler et installer🎜 🎜

    1./nginx -v
    Copier après la connexion
    Copier après la connexion
      < li style="font-size: hériter;color: hériter;line-height: hériter;margin-bottom: 0.5em;">

      Afficher lepcrenuméro de version🎜

    1pcre-config --version
    Copier après la connexion
    Copier après la connexion

    2.2 安装openssl,zlib等依赖

    1yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
    Copier après la connexion
    Copier après la connexion

    2.3 安装nginx

    1. nginx官网下载nginx,官网地址:https://nginx.org/download/;

    2. 将压缩包拖到服务器上;

    3. 使用命令tar -xvf nginx-1.12.2.tar.gz解压压缩包;

    4. 使用命令./configure检查;

    5. 使用命令make &amp;&amp; make isntall编译安装;

    安装成功后,在usr会多出来一个文件夹,local/nginx,在nginxsbin文件夹下有启动脚本。

    2.4 启动nginx

    /usr/local/nginx/sbin文件夹下,使用以下命令启动

    1./nginx
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion

    然后浏览器访问服务器ip,nginx默认端口是80,出现以下页面则证明nginx安装成功;

    Tutoriel Nginx super simple, lisez simplement cet article pour commencer

    2.5 Nginx常用的命令

    使用这些命令时需要进入/usr/local/nginx/sbin文件夹

    • 查看nginx的版本号

    1./nginx -v
    Copier après la connexion
    Copier après la connexion
    • 启动nginx

    1./nginx
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion
    • 关闭nginx

    1./nginx -s stop
    Copier après la connexion
    • 重新加载nginx

    1./nginx -s reload
    Copier après la connexion

    2.6 Nginx的配置文件

    nginx的配置文件在/usr/local/nginx/conf中的nginx.conf。我们将nginx.conf中注释的内容删除一下。

     1#user  nobody;
     2worker_processes  1;
     3
     4#pid        logs/nginx.pid;
     5
     6events {
     7    worker_connections  1024;
     8}
     9
    10http {
    11    include       mime.types;
    12    default_type  application/octet-stream;
    13
    14    sendfile        on;
    15    #tcp_nopush     on;
    16
    17    #keepalive_timeout  0;
    18    keepalive_timeout  65;
    19
    20    #gzip  on;
    21
    22    server {
    23        listen       80;
    24        server_name  localhost;
    25
    26        location / {
    27            root   html;
    28            index  index.html index.htm;
    29        }
    30    }
    31}
    Copier après la connexion

    nginx的配置文件包含三部门。

    1.全局块

    从配置文件开始到events块之间的内容,主要会设置一些nginx服务器整体运行的配置指令。

    1worker_processes  1;
    Copier après la connexion

    这个代表nginx处理并发的关键配置,值越大,处理并发能力越强。但是会受到硬件、软件等约束。

    2.events块

    events块涉及的指令主要影响nginx服务器与用户网络的连接。

    1worker_connections  1024;
    Copier après la connexion

    这个代表nginx支持的最大连接数。

    3.http全局块

    nginx服务器配置最频繁的部分。http全局块包含http块serveurnginx服务器配置最频繁的部分。http全局块包含http块server块

    三 Nginx配置反向代理

    3.1 ngix代理流程

    Tutoriel Nginx super simple, lisez simplement cet article pour commencer

    本地浏览器访问nginx服务器,nginx服务器反向代理tomcat服务器,当我们请求nginx的时候直接访问到tomcattomcat的安装这里就不在讲了,我将tomcatnginx

    三 Nginx配置反向代理

    3.1 ngix代理流程 < /span>

    Tutoriel Nginx super simple, lisez simplement cet article pour commencer

    本地浏览器访问nginx服务器,nginx服务器反向代理tomcat服务器,当我们请求nginx的时候直接访问到tomcattomcat的安装这里就不在讲了,我将tomcat et nginx< /code>安装在了同一台服务器上。🎜🎜<h3 id="span-style-font-size-inherit-line-height-inherit-display-inline-block-font-weight-normal-background-rgb-color-rgb-padding-px-px-px-border-top-right-radius-px-border-top-left-radius-px-margin-right-px-配置ip和域名的绑定关系-span-span-style-display-inline-block-vertical-align-bottom-border-bottom-px-solid-rgb-border-right-px-solid-transparent-span"><span style="font-size: inherit;line-height: inherit;display: inline-block;font-weight: normal;background: rgb(239, 112, 96);color: rgb(255, 255, 255);padding: 3px 10px 1px;border-top-right-radius: 3px;border-top-left-radius: 3px;margin-right: 3px;">3.2 配置ip和域名的绑定关系</span><span style="display: inline-block;vertical-align: bottom;border-bottom: 36px solid rgb(239, 235, 233);border-right: 20px solid transparent;"> </span></h3><p style="font-size: inherit;color: inherit;line-height: inherit;margin-top: 1.7em;margin-bottom: 1.7em;">由于我们的<code style="font-size: inherit;line-height: inherit;overflow-wrap: break-word;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;color: rgb(248, 35, 117);background: rgb(248, 248, 248);">nginx没有域名,为了演示,因此我们在本地host文件中配置nginx服务器ip和域名进行绑定。这个host文件的具体位置在C:\Windows\System32\drivers\etc。在host文件中增加一句配置:

    147.104.xxx.xxx www.javatrip.com
    Copier après la connexion

    前面的ip是服务器的ip地址,后面的域名是我随便起的用于绑定这个ip的一个域名。配置好之后,我们使用域名访问一下tomcat,如果能请求到tomcat默认页面,则配置成功。

    Tutoriel Nginx super simple, lisez simplement cet article pour commencer

    3.3 在nginx配置请求转发

    1  server {
    2        listen       80;
    3        server_name  localhost;
    4
    5        location / {
    6            root   html;
    7            index  index.html index.htm;
    8        }
    9  }
    Copier après la connexion

    我们将以上默认的配置文件做个修改:

     1server {
     2    listen       80;
     3    server_name  47.104.xxx.xxx;
     4
     5    location / {
     6        root   html;
     7        proxy_pass http://127.0.0.1:8080;
     8        index  index.html index.htm;
     9    }
    10}
    Copier après la connexion

    以上这段配置的意思就是请求是47.104.xxx.xxx:80,都会转发至47.104.xxx.xxx:8080

    现在浏览器访问www.javatrip.com,发现直接转发到了tomcat上了,这样简单的反向代理就完成了。

    3.4 根据请求后缀分发

    我们再解压一个tomcat,端口号设置为8081,分别在两个tomcatwebapps目录下面新建devprod目录,然后在该目录下写一个文件。

    将请求www.javatrip.com:7001/dev转发到tomcat8080,将请求www.javatrip.com:7001/prod转发到tomcat8081。现在我们的nginx监听的端口号是7001。打开nginx的配置文件,新建一个server如下:

     1server {
     2    listen       7001;
     3    server_name  47.104.xxx.xxx;
     4
     5    location ~ /dev/ {
     6        proxy_pass http://127.0.0.1:8080;
     7    }
     8
     9    location ~ /prod/ {
    10        proxy_pass http://127.0.0.1:8081;
    11    }
    12}
    Copier après la connexion

    然后试试效果,分别访问www.javatrip.com:7001/dev/a.html和www.javatrip.com:7001/prod/a.html,效果如下:

    Tutoriel Nginx super simple, lisez simplement cet article pour commencer

    Tutoriel Nginx super simple, lisez simplement cet article pour commencer

    其中,配置转发的时候用到了~,其含义内容如下:

    • = 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。

    • ~ est une correspondance sensible à la casse (les expressions régulières sont disponibles)

    • !~ est une correspondance sensible à la casse

    • ~* est une correspondance insensible à la casse (les expressions régulières sont disponibles)

    • !~* est une incompatibilité insensible à la casse

    • ^~ Si ce préfixe est utilisé pour une chaîne normale, alors dites à nginxNe teste pas l'expression régulière si le chemin correspond. nginx如果路径匹配那么不测试正则表达式。

    四 Nginx配置负载均衡

    4.1 什么是负载均衡

    负载均衡(Load Balance),意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案。

    现在我们想实现的效果是通过访问www.javatrip.com:7001/prod/a.html,将请求分别分发到两个tomcat上面去,首先我们在tomcat8080上新建一个prod的文件夹,里面放一个a.html的文件。这样tomcat8081tomcat8080两个上就都有了一个prod的文件加且里面有一个a.html

    🎜Équilibrage de charge de quatre configurations Nginx🎜

    4.1 Qu'est-ce que l'équilibrage de charge🎜 🎜

    L'équilibre de charge (Load Balance) signifie équilibrer et allouer la charge (tâches de travail, demandes d'accès) à plusieurs L'exécution se produit lors du fonctionnement unités (serveurs, composants). Il s'agit de la solution ultime pour résoudre les problèmes de hautes performances, de point de défaillance unique (haute disponibilité) et d'évolutivité (mise à l'échelle horizontale). 🎜

    Maintenant, l'effet que nous voulons obtenir est via Visitez www.javatrip.com:7001/prod/a.html et distribuez les requêtes à deux Tomcats respectivement. Tout d'abord, nous tomcat8080 ; margin-left: 2px;color: rgb(248, 35, 117);background: rgb(248, 248, 248);">prod, mettez un un fichier.html. De cette façontomcat8081 et tomcat8080Il y en a un sur les deux fichier de prod plus un un fichier.html. 🎜

    4.2 配置nginx.conf

    首先,在http块中配置两个tomcat的服务列表

    1upstream myserver{
    2    server 127.0.0.1:8080;
    3    server 127.0.0.1:8081;
    4}
    Copier après la connexion
    Copier après la connexion

    其次,在server块中配置规则:

     1server {
     2    listen       80;
     3    server_name  47.104.xxx.xxx;
     4
     5    location / {
     6        root   html;
     7        proxy_pass http://myserver;
     8        index  index.html index.htm;
     9    }
    10}
    Copier après la connexion

    4.3 测试效果

    访问地址:www.javatrip.com:7001/prod/a.html,多刷新几次。发现有的请求到tomcat8080上,有的请求到tomcat8081上。

    Tutoriel Nginx super simple, lisez simplement cet article pour commencer

    Tutoriel Nginx super simple, lisez simplement cet article pour commencer

    4.4 nginx支持的几种负载策略

    • 轮询(默认):每个请求按时间顺序逐一分配到不同的服务器,如果服务器down了,会自动剔除。

    1upstream myserver{
    2    server 127.0.0.1:8080;
    3    server 127.0.0.1:8081;
    4}
    Copier après la connexion
    Copier après la connexion
    • weight(权重):默认为1,权重越高,分配的请求越多。

    1upstream myserver{
    2    server 127.0.0.1:8080 weight=1;
    3    server 127.0.0.1:8081 weight=2;
    4}
    Copier après la connexion
    • ip hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后台服务器,可以解决session的问题。

    1upstream myserver{
    2    ip_hash;
    3    server 127.0.0.1:8080;
    4    server 127.0.0.1:8081;
    5}
    Copier après la connexion
    • fair(第三方):按后端响应时间进行分配,响应时间越短分配的请求越多。

    1upstream myserver{
    2    server 127.0.0.1:8080;
    3    server 127.0.0.1:8081;
    4    fair;
    5}
    Copier après la connexion

    由于动静分离在实际开发中也不常用,就不再写了。本篇文章做为一个nginx入门,到这里就基本完结了。最后留给大家一个问题思考一下:如何保证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!

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment résoudre nginx403 Comment résoudre nginx403 Apr 14, 2025 am 10:33 AM

Comment corriger l'erreur interdite Nginx 403? Vérifier les autorisations de fichier ou de répertoire; 2. Vérifier le fichier .htaccess; 3. Vérifiez le fichier de configuration NGINX; 4. Redémarrer Nginx. D'autres causes possibles incluent les règles de pare-feu, les paramètres de Selinux ou les problèmes d'application.

Comment résoudre l'erreur Nginx403 Comment résoudre l'erreur Nginx403 Apr 14, 2025 pm 12:54 PM

Le serveur n'a pas l'autorisation d'accéder à la ressource demandée, ce qui donne une erreur NGINX 403. Les solutions incluent: vérifier les autorisations de fichiers. Vérifiez la configuration .htaccess. Vérifiez la configuration de Nginx. Configurez les autorisations Selinux. Vérifiez les règles du pare-feu. Dépanner d'autres causes telles que les problèmes de navigateur, les défaillances du serveur ou d'autres erreurs possibles.

Comment résoudre le problème du domaine croisé nginx Comment résoudre le problème du domaine croisé nginx Apr 14, 2025 am 10:15 AM

Il existe deux façons de résoudre le problème du domaine transversal NGINX: modifiez les en-têtes de réponse transversale: ajoutez des directives pour autoriser les demandes de domaine croisé, spécifier des méthodes et des en-têtes autorisés et définir le temps du cache. Utilisez le module CORS: Activez les modules et configurez les règles CORS pour permettre des demandes, des méthodes, des en-têtes et du temps de cache.

Comment démarrer Nginx dans Linux Comment démarrer Nginx dans Linux Apr 14, 2025 pm 12:51 PM

Étapes pour démarrer Nginx dans Linux: Vérifiez si Nginx est installé. Utilisez SystemCTL Start Nginx pour démarrer le service NGINX. Utilisez SystemCTL Activer Nginx pour activer le démarrage automatique de Nginx au démarrage du système. Utilisez SystemCTL Status Nginx pour vérifier que le démarrage est réussi. Visitez http: // localhost dans un navigateur Web pour afficher la page de bienvenue par défaut.

Comment résoudre l'erreur Nginx304 Comment résoudre l'erreur Nginx304 Apr 14, 2025 pm 12:45 PM

Réponse à la question: 304 Erreur non modifiée indique que le navigateur a mis en cache la dernière version de ressource de la demande du client. Solution: 1. Effacer le cache du navigateur; 2. Désactiver le cache du navigateur; 3. Configurer Nginx pour permettre le cache client; 4. Vérifier les autorisations du fichier; 5. Vérifier le hachage du fichier; 6. Désactiver le CDN ou le cache proxy inversé; 7. Redémarrez Nginx.

Comment configurer Nginx dans Windows Comment configurer Nginx dans Windows Apr 14, 2025 pm 12:57 PM

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Comment vérifier l'état de course de Nginx Comment vérifier l'état de course de Nginx Apr 14, 2025 am 11:48 AM

Les méthodes pour afficher l'état en cours d'exécution de Nginx sont: utilisez la commande PS pour afficher l'état du processus; Afficher le fichier de configuration Nginx /etc/nginx/nginx.conf; Utilisez le module d'état NGINX pour activer le point de terminaison d'état; Utilisez des outils de surveillance tels que Prometheus, Zabbix ou Nagios.

See all articles