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

Nginx prend-il en charge les sockets ?

(*-*)浩
Libérer: 2019-06-18 11:04:15
original
5295 Les gens l'ont consulté

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;
Copier après la connexion

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
Copier après la connexion

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;
    }
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal