Configuration de l'environnement préliminaire Nginx

Installation de Nginx

1. Téléchargement Weget: http://nginx.org/download/nginx-1.6.2.tar.gz

2. Installez: tar -zxvf nginx-1.6.2.tar.gz

3. Téléchargez les fichiers de bibliothèque dépendants requis

   miam installer pcre 、 miam installer pcre-devel

  miam installer zlib 、 miam installer zlib-devel

4. Configurez configure: cd nginx-1.6.2 && ./configure --prefix = / usr / local / nginx pour voir si une erreur est signalée

5. Compilez et installez make && make install

6. Démarrez nginx

  répertoire cd / usr / local / nginx /:

   conf: fichier de configuration

   html: fichier de page Web

   journaux: fichiers journaux

   sbin: programme binaire principal

Commande de démarrage: / usr / local / nginx / sbin / nginx 

重启 : / usr / local / nginx / sbin / nginx -s recharger

停止 : / usr / local / nginx / sbin / nginx -s stop

7. Succès: vérifiez si netstat -ano | grep 80 est démarré. Échec: le port 80 est peut-être occupé

  Adresse d'accès au navigateur: http://192.168.43.126:80--> vous pouvez voir l'interface de bienvenue de nginx

cd nginx-1.6.2 && ./configure --prefix=/usr/local/nginx

 Description du fichier de configuration Nginx

Configuration de l'hôte virtuel Nginx

# Configuration de l'hôte virtuel

server{
    listen:1234;    #设置nginx的端口号
    server_name bhz.com;    #设置服务器别名
    location /{
        root bhz.com;        #这是nginx的根目录
        index index.html;    #设置根目录中的界面
    }
}

Stratégie d'équilibrage de charge

1. Utilisez une stratégie d'équilibrage de matériel complexe à réaliser, comme l'utilisation de F5, Array et d'autres équilibreurs de charge

2. Utilisez un logiciel pour l'équilibrage de charge.

  Tels que l'utilisation d'Alibaba Cloud Server Load Balancing SLB

  Si vous utilisez Keepalived + Nginx

  D'autres technologies d'équilibrage de charge logicielle telles que LVS (Linux Virtual Server), haproxy, etc.

Avantages Nginx

Nginx est un serveur web et proxy inverse très performant. ont pu

keepalive_timeout 65;
#gzip on;
server{
    listen 80;
    server_name localhost;
    #charset utf-8;
    #access_log logs/host.access.log main;
    location /{
        root html;
        index index.html index.htm
    }
    error_page 500 502 503 504 /50x.html;
    location =/50x.html{
        root html;
    }
}

Serveur d'équilibrage de charge; dans le cas d'une concurrence élevée, Nginx est un bon produit proxy pour le serveur Apache: Nginx peut prendre en charge des réponses jusqu'à 50000 connexions simultanées.

Utilisation de Nginx

Après le démarrage de nginx, utilisez la commande

  ps -ef | grep nginx

Ensuite, vous pouvez voir que le processus maître a démarré, que le processus de travail a commencé, et bien sûr, leurs numéros de port peuvent également être vus;

Après la commande d'arrêt: / usr / local / nginx / sbin / nginx -s stop

Aucun processus démarré

Redémarrez le serveur nginx: ps -ef | grep nginx -s reload

C: \ Windows \ System32 \ drivers \ etc, modifiez le fichier hosts dans ce répertoire

Ajoutée

192.168.1.114 bhz.com

192.168.1.171 www.bhz.com

192.168.1.174 www.bhz.com

Modifier le fichier d'hôtes Linux

vim / etc / hosts

192.168.1.114 bhz.com

Après avoir redémarré nginx, vous pouvez accéder à bhz.com:1234.com sur la machine physique Windows.

Fichier journal Nginx détaillé

Le fichier journal accédé par nginx est placé sous logs / host.access.log et utilise le format principal (bien sûr, vous pouvez personnaliser le format)

Le format principal est défini comme suit:

  # Format de sortie du fichier journal Cet emplacement est équivalent aux paramètres globaux

 #log_format main '$ remote_addr- $ remote_user [$ time_local] "$ request"'

 # '$ staus $ body_bytes_sent "$ http_referer"'

# '"$ http_user_agent" "$ http_x_forward_for"';

Commande #View log content: tail -n 100 -f nginx / logs / access.log

L'analyse du journal de Nginx est très importante et nécessite généralement une opération et une maintenance pour couper le journal de nginx. Par exemple, implémentez une tâche de synchronisation pour traiter les journaux nginx.

Étape 1: analyser comment implémenter la segmentation des journaux et écrire des scripts shell

Étape 2: Planification du script avec une tâche de chronométrage: crontab -e

* / 1 **** sh /usr/local/nginx/sbin/log.sh

Mettez le script shell sous / skin;

Chemin racine: / usr / local / nginx

Nom du journal: bhz.com.access.log

Chemin actuel: / usr / local / nginx / logs

Chemin à sauvegarder: sous le dossier / usr / local / nginx / datalogs

Chemin du fichier des journaux actuels:

Baktime: sauvegarde du journal d'hier

Bakfile:

crontab -e

Wq après l'enregistrement

Exécuter toutes les minutes

Configuration détaillée du fichier journal Nginx

syntaxe d'emplacement: indique l'emplacement de l'URI

Il existe trois grammaires de base:

  location = modèle {} correspondance exacte

  modèle d'emplacement {} Configuration générale

  location ~ motif {} correspondance régulière

Syntaxe Nginx

  if (condition: = ~ ~ *), return, break, rewrite ~ * signifie ignorer la casse

-f est une condition, -d est un répertoire, -e existe

Nginx peut compresser des données et mettre en cache certains fichiers tels que des images, html, css, js, etc., afin de réaliser des fonctions d'optimisation telles que la séparation dynamique et statique.

if ($ remote_addr = 192.168.1.114) {return 401}; est d'interdire l'ip de la machine physique

if ($ http_user_agent ~ * firefox) {réécrire ^. * $ / firefox.html; Pause;}

Vérifiez le type de navigateur s'il n'y a pas de pause, il signalera une erreur 404;

Vous pouvez afficher le message d'erreur dans err.log

chat bhz.com.access.log

Proxy inverse Nginx

Proxy proxy inverse Nginx et équilibrage de charge en amont

Configurer le proxy inverse: adresse URL proxy_pass

Configurer l'équilibrage de charge en amont: en amont

Configuration officielle: http://nginx.org/en/docs

Remarque: Une fois que le proxy inverse a obtenu l'adresse IP du client en tant que serveur nginx, vous devez transférer nginx et définir la véritable adresse IP;

  #Définissez la véritable adresse IP du client

  proxy_set_header X-real-ip $ remote_addr;

Séparation dynamique et statique:

  Demande dynamique d'accès à tomcat

  Requête statique pour accéder à nginx

Explication détaillée du proxy inverse Nginx

Nginx intercepte d'abord la demande, puis envoie la demande à différents tomcat

emplacement ~ \ .jsp $ {

  proxy_pass http://192.168.1.171:8080

}

Décompressez tomcat:

/usr/local/apache-tomcat-7.0.29/bin/startup/sh

C'est l'ip obtenu est l'ip de nginx;

location /{
    #设置客户端真实ip地址
    #proxy_set_header X-real-ip $remote_addr;
    #负载均衡反向代理
    #proxy_pass http://myapp
    #返回根路径地址(相对路径:相对于/usr/local/nginx/)
    root html;
    默认访问文件
    index index.html index.htm
}
#配置反向代理tomcat服务器:拦截.jsp结尾的请求转向到tomcat
#location ~\.jsp${
    #proxy_pass http://192.168.1.171:8080
}

Après le proxy inverse, l'IP obtenue est l'IP de la machine physique

Configuration détaillée de l'équilibrage de charge Nginx

#设定负载均衡的服务器列表
#upstream myproject{
    #weight参数表示权值,权值越高被分配到的概率越大
    #max_fails 当有#max_files个请求失败,就表示后端的服务器不可用,默认为1,将其设置为0可以关闭检查
    #fail_timeout 在以后的#fail_timeout时间内nginx不会再把请求发送已检查标记为不可用的服务器
}
#webapp
#upstream myapp{
    server 192.168.1.114:8000 weight=1 max_files=2 fail_timeout=30s
    server 192.168.1.115:8000 weight=1 max_files=2 fail_timeout=30s
}

myapp équilibre la charge de deux nœuds, 114 et 115

#scp /usr/local/apache-tomcat-7.0.29/webapps/Root/test.jsp  192.168.1.115:/usr/local/apache-tomcat-7.0.29/webapps/Root/
##
##
/usr/local/apache-tomcat-7.0.29/bin/startup.sh

Avant l'équilibrage de charge:

       114: 8080 / test.jsp afficher test1.jsp

       115: 8080 / test.jsp affichage test2.jsp

L'équilibrage de charge

       114: 70 / test.jsp affiche test1.jsp pour la première fois et affiche test2.jsp pour la deuxième fois

Je suppose que tu aimes

Origine blog.csdn.net/pshdhx/article/details/108059982
conseillé
Classement