Maison  >  Article  >  Opération et maintenance  >  Nginx prend-il en charge les sockets ?

Nginx prend-il en charge les sockets ?

(*-*)浩
(*-*)浩original
2019-06-10 16:44:235249parcourir

Il existe une interface qui communique via socket. Il existe des restrictions IP sur l'accès au serveur homologue, nous devons donc utiliser la machine Springboard car elle a l'autorisation d'accéder au serveur homologue. nginx1.9 commence à prendre en charge le transfert de couche TCP, qui est implémenté via le flux, et le socket est également basé sur la communication TCP.

Nginx prend-il en charge les sockets ?

Processus d'implémentation :

1. Installez nginx, le module stream n'est pas installé par défaut et doit être ajouté manuellement des paramètres : –with-stream, sélectionnez nginx1.9 ou supérieur en fonction de la version de votre système.

Configuration 2.nginx.conf, reportez-vous à la description : ngx_stream_core_module

nginx.conf

user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
.................
}

# tcp层转发的配置文件夹

include /etc/nginx/tcp.d/*.conf;

Veuillez noter que la configuration du flux ne peut pas être placé dans http, c'est-à-dire qu'il ne peut pas être placé dans /etc/nginx/conf.d/, car le flux est transmis via la couche TCP, pas via http.

Si configuré en http, l'erreur suivante sera signalée au démarrage de nginx :

nginx: [emerg] "server" directive is not allowed here

3 Créez un nouveau fichier bss_num_30001.conf sous tcp.d avec le contenu suivant : <.>

stream {
    # 添加socket转发的代理
    upstream bss_num_socket {
        hash $remote_addr consistent;
        # 转发的目的地址和端口
        server 130.51.11.33:19001 weight=5 max_fails=3 fail_timeout=30s;
    }

    # 提供转发的服务,即访问localhost:30001,会跳转至代理bss_num_socket指定的转发地址
    server {
       listen 30001;
       proxy_connect_timeout 1s;
       proxy_timeout 3s;
       proxy_pass bss_num_socket;
    }
}

4. Redémarrez nginx et accédez à localhost:30001 Il passera à l'adresse de transfert 130.51.11.33:19001 spécifiée par bss_num_socket.

Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonne

Tutoriel Nginx pour apprendre !

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:
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