Maison >Opération et maintenance >Nginx >Comment configurer l'accès aux noms multi-ports et multi-domaines dans Nginx
Accès multiport au nom de domaine principal
Définissez un enregistrement dans le serveur de noms DNS
pointez vers l'IP du serveur
Ouvrez le port requis et modifiez le fichier de configuration nginx
Par exemple, nous avons deux services Ouvrez respectivement le port 80 et le port 8080
S'il y a iptable, ouvrez d'abord le port :
iptables -a input -ptcp --dport 80 -j accept iptables -a input -ptcp --dport 8080 -j accept
Modifiez le fichier de configuration :
#path: /usr/local/nginx/conf/nginx.conf server { listen 80; server_name www.xxx.com; access_log /data/www/log/33.33.33.33_nginx.log combined; index index.html index.htm index.php; include /usr/local/nginx/conf/rewrite/none.conf; root /data/www/website/33.33.33.33:80; location ~ [^/]\.php(/|$) { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; } } server { listen 8080; server_name a.xxx.com; access_log /data/www/log/33.33.33.33:8080_nginx.log combined; index index.html index.htm index.php; include /usr/local/nginx/conf/rewrite/none.conf; root /data/www/website/33.33.33.33:8080; location ~ [^/]\.php(/|$) { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; } }
La clé est de configurer les deux sections du serveur. Vous pouvez. divisez également ces deux sections en deux fichiers de configuration. Mettez-le dans le répertoire
/etc/nginx/conf.d/
; //xxx.com:8080;
et S'il y a deux cgi différents, par exemple, le port 80 correspond à un service web php, et le port 8080 correspond à un service web nodejs et notre nodejs est livré avec un service web qui est ; déjà en écoute sur le port 8080, que faire ? À ce stade, nous avons besoin de la fonction de proxy inverse de nginx et d'ajouter un enregistrement sur le serveur DNS, et enfin d'atteindre
Le modèle de configuration nginx est le suivant :
#path: /usr/local/nginx/conf/nginx.conf server { listen 80; server_name www.xxx.com; access_log /data/www/log/33.33.33.33_nginx.log combined; index index.html index.htm index.php; include /usr/local/nginx/conf/rewrite/none.conf; root /data/www/website/33.33.33.33:80; location ~ [^/]\.php(/|$) { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; } } server { listen 80; listen [::]:80; server_name a.xxx.com; proxy_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s; location / { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header upgrade $http_upgrade; proxy_set_header connection 'upgrade'; proxy_set_header host $host; proxy_cache_bypass $http_upgrade; try_files $uri $uri/ =404; } }nginx recharge le fichier de configuration
nginx -s reload
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!