编程知识 cdmana.com

La connaissance de nginx que le Front End devrait maîtriser

Préface

Pourquoi?nginx?

  • Tout d'abord,,Améliorer la capacité de déploiement de votre serveur
  • Deuxièmement,,Aide à comprendre les liens d'interface arrière

ngixQu'est - ce que tu peux faire??

  1. Résoudre les problèmes intersectoriels
  2. Équilibrage de la charge
  3. Serveur statique
  4. Beaucoup./Site Web à une page
  5. gzip

Texte

Installation & Commandes courantes & nginxStructure du profil

Installation(Parubuntu Par exemple):

$ sudo apt-get install nginx

Voir plus:InstallationNGINX

Voir la version:

$ sudo nginx -v
# L'affichage des informations de version indique une installation réussie
nginx version: nginx/1.6.2

Commandes courantes

Démarrer le service:

$ nginx

Autres commandes:

$ nginx -s <SIGNAL>

SIGNAL:

  • quit – Arrêt normal du service
  • reload – Recharger le profil exécuter
  • reopen – Ouvrir le fichier journal
  • stop – Fermez le service immédiatement

Profil

Structure du fichier

nginxLe Profil principal pour estnginx.conf. Vous pouvez aller dans le fichier de configuration principal include Profil à d'autres endroits .
Vu l'installation comme ci - dessus :

  • Chemin de profil par défaut/etc/nginx/nginx.conf
  • Il pourrait y avoir des références dans ce fichier ,Par exemple,include /etc/nginx/conf.d/*.conf; En fait, votre profil de projet est /etc/nginx/conf.d/ Tout sous ce dossier .confDocumentation;
  • En général, un projet (Nom de domaine) Avec un fichier , Par exemple, votre nom de domaine est www.baidu.com, Votre profil s'appellera /etc/nginx/conf.d/www.baidu.com.conf
Description de la configuration

image.png
main:nginxConfiguration globale pour,En vigueur au niveau mondial.
events:Impact de la configurationnginxServeur ou Connexion réseau à l'utilisateur.
http:Plusieurs peuvent être imbriquésserver,Configurer l'agent,Cache,Configuration de la plupart des fonctions et des modules tiers tels que la définition des journaux.
server:Configurer les paramètres associés à l'hôte virtuel,UnhttpPeut avoir plus d'unserver.
location:Configurer le routage demandé,Et le traitement des différentes pages.
upstream:Configurer l'adresse spécifique du serveur d'arrière - plan,Partie intégrante de la configuration d'équilibrage de charge.

Résoudre les domaines croisés

HttpÉquilibrage de la charge

Stratégie d'équilibrage des charges: À compléter
Configurationupstream:

upstream balanceServer {
    server 10.1.22.33:12345;
    server 10.1.22.34:12345;
    server 10.1.22.35:12345;
}

Configurationserver:

 server {
        server_name  fe.server.com;
        listen 80;
        location /api {
            proxy_pass http://balanceServer;
        }
    }

Serveur statique

/data/static/ Navigation du Répertoire disponible:

server{
  listen 80 default_server; 
  server_name www.example.com;

  location ^~ /static {
    root /data/static/; #  Définir le Répertoire de fichiers sous le serveur d'accès 
    autoindex on; # Ouvrir la navigation du Répertoire
    access_log  off; #  Fermer le Journal d'accès 
    charset utf-8,gbk;     # Empêcher le brouillage du Répertoire chinois 
    expires     10h;# Définir l'expiration à10Heures
  }       
}

Voir plus:[nginx Activer la fonction de navigation du Répertoire et l'embellissement du thème
](https://ld246.com/article/156...)

Site Web à une page

 server {
        server_name  fe.server.com;
        listen 80;
        location / {
            root /data/www;
            index index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
    }
  • root
  • index
  • try_files

Site multi - pages

 server {
        server_name  fe.server.com;
        listen 80;
        location /app {
                    
        }
        location /pc {
                    
        }
        location /api {
                    
        }
        location / {
            root /data/www;
            index index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
    }

Gzip

UtiliserGzipRéalisationHTTPCompression, Peut améliorer la vitesse de transmission et l'utilisation de la bande passante .

    gzip                    on; 
    gzip_http_version       1.1;        
    gzip_comp_level         5;
    gzip_min_length         1000;
    gzip_types text/csv text/xml text/css text/plain text/javascript application/javascript application/x-javascript application/json application/xml;
  • gzip: Décider s'il faut ouvrirgzipModule,onIndique l'ouverture,offIndique la fermeture;
  • gzip_http_version: IdentificationhttpVersion du Protocole,Le navigateur du matin peut ne pas prendre en chargegzipAuto - décompression,L'utilisateur verra le désordre
  • gzip_comp_level: ParamètresgzipNiveau de compression,Plus le niveau est bas, plus la vitesse de compression est rapide, plus le taux de compression des fichiers est faible,Inversement, plus la vitesse est lente, plus le taux de compression des fichiers est élevé;Grade1-9,La compression minimale est la plus rapide Mais la consommationcpu
  • gzip_min_length: Définir le nombre minimum d'octets de page qui peuvent être compressés(DeheaderLa têteContent-LengthAccès moyen) ,Utilisé lorsque le contenu retourné est supérieur à cette valeurgzipPour compresser,ParKEn unités,La valeur est0Heure,Toutes les pages sont compressées.Recommandé plus grand que1k
  • gzip_types: Définir ce qui doit être compresséMIMEType,Les valeurs non définies ne sont pas compressées,Correspond au type de compression

Déploiementhttps

https://cloud.tencent.com/doc...
https In443Port
Besoin1.ssl_certificate: crtDocuments de certification;2.ssl_certificate_key: key Fichier clé privé.Mettez - le surnginx Sous le dossier
In conf.d Créer un nouveau sous le dossierssl.conf Documentation

# Pour le déploiement cloud.tencent.com Par exemple
# Certificat: 1_cloud.tencent.com_bundle.crt
# Clé privée: 2_cloud.tencent.com.key
server {
        #SSL  Le numéro de port d'accès est  443
        listen 443 ssl; 
        #Remplir le nom de domaine du certificat de liaison
        server_name cloud.tencent.com; 
        # Nom du fichier de certificat 
        ssl_certificate 1_cloud.tencent.com_bundle.crt; 
        # Nom du fichier à clé privée 
        ssl_certificate_key 2_cloud.tencent.com.key; 
        ssl_session_timeout 5m;
        
        # Veuillez configurer comme suit 
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
        # Veuillez suivre la configuration du kit ci - dessous , Configurer la suite de chiffrement , L'écriture suit  openssl Critères.
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
        
        location / {
           # Chemin de la page d'accueil du site . Ce chemin est à titre d'information seulement , Veuillez suivre le répertoire réel pour plus de détails .
           #Par exemple, Le répertoire d'exécution de votre site est /etc/wwwEn bas.,À remplir/etc/www.
            root html; 
            #  Pas besoin de modifier ici 
            index  index.html index.htm;
        }
    }

http Rediriger vers https

httpIn80Port
http:// cloud.tencent.com -> https:cloud.tencent.com
server {

listen 80;
#Remplir le nom de domaine du certificat de liaison
server_name cloud.tencent.com; 
#Prends ça.httpDemande de nom de domaine pourhttps
return 301 https://$host$request_uri; 

}

  1. nginx Variables intégrées
    $host:
    $request_uri: Completurl Rabotez - vous au milieu, en avant $hostLe reste
  2. 301 Saut

Article de référence

版权声明
本文为[Specialcoder]所创,转载请带上原文链接,感谢
https://cdmana.com/2021/11/20211125175020719Y.html

Scroll to Top