• nginx配置多个server监听80端口根据域名转发端口服务


    https://blog.csdn.net/lovequanquqn/article/details/104562914?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.fixedcolumn&spm=1001.2101.3001.4242.1

    一、背景目标
    一台服务器上面有多个服务,不同的服务有不同的端口,因为端口不好记住,所以决定配置根据域名来访问,实现不同域名转发到不到端口服务。需要用到nginx的端口转发功能。实现的目标截图如下:

    PS:截图中有两个域名,missbe.cn对应端口一服务,doc.missbe.cn对应端口二服务;

    二、nginx配置安装
    PS:安装nginx可以通过yum install -y nginx实现;

    nginx.conf配置文件如下:
    # For more information on configuration, see:
    # * Official English Documentation: http://nginx.org/en/docs/
    # * Official Russian Documentation: http://nginx.org/ru/docs/

    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;

    # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;

    events {
    worker_connections 1024;
    }

    http {
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    # Settings for a TLS enabled server.
    #
    # server {
    # listen 443 ssl http2 default_server;
    # listen [::]:443 ssl http2 default_server;
    # server_name _;
    # root /usr/share/nginx/html;
    #
    # ssl_certificate "/etc/pki/nginx/server.crt";
    # ssl_certificate_key "/etc/pki/nginx/private/server.key";
    # ssl_session_cache shared:SSL:1m;
    # ssl_session_timeout 10m;
    # ssl_ciphers HIGH:!aNULL:!MD5;
    # ssl_prefer_server_ciphers on;
    #
    # # Load configuration files for the default server block.
    # include /etc/nginx/default.d/*.conf;
    #
    # location / {
    # }
    #
    # error_page 404 /404.html;
    # location = /40x.html {
    # }
    #
    # error_page 500 502 503 504 /50x.html;
    # location = /50x.html {
    # }
    # }

    }

    PS:include /etc/nginx/conf.d/*.conf;很重要,会加载conf.d目录下的配置文件,并且这个文件里面没有server配置,都移动到conf.d目录下了;配置文件路径如下:


    服务一server配置
    server {
    listen 80;
    server_name missbe.cn;
    root /usr/share/nginx/html;

    location / {
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://missbe.cn:8090;
    }

    error_page 404 /404.html;
    location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
    }

    服务二server配置
    server {
    listen 80;
    server_name doc.missbe.cn;
    root /usr/share/nginx/html;

    # Load configuration files for the default server block.

    location / {
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://missbe.cn:8088;
    }

    error_page 404 /404.html;
    location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
    }

    PS:两个服务都监听了80端口,对应不同server_name,根据域名转发到不同的端口;

  • 相关阅读:
    Spring boot --- Spring Oauth(三)
    Spring boot --- Spring Oauth(一)
    JavaScript 学习(一)
    Springboot --- Spring Security (一)
    HTML 学习笔记 JavaScript (节点)
    HTML 学习笔记 JavaScript(事件)
    HTML 学习笔记 JavaScript (DOM)
    HTML 学习笔记 CSS3 (多列)
    HTML 学习笔记 CSS3(Animation)
    HTML 学习笔记 CSS3(过度 transition)
  • 原文地址:https://www.cnblogs.com/zhoading/p/15636815.html
Copyright © 2020-2023  润新知