这里不允许使用nginx – map指令

前端之家收集整理的这篇文章主要介绍了这里不允许使用nginx – map指令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我是所有这些devops的新手,所以请光临我.我正在关注本教程https://medium.com/startup-founder-panel/deploying-a-meteor-app-with-nginx-from-scratch-1332b32e99a5
当我做sudo Nginx -t
我明白了

Nginx: [emerg] "map" directive is not allowed here in /etc/Nginx/sites-enabled/app:2
Nginx: configuration file /etc/Nginx/Nginx.conf test Failed

这是app文件

# this section is needed to proxy web-socket connections
map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
}
# HTTP
server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;
        location = /favicon.ico {
          root /home/USERNAME/portal/programs/web.browser/app;
          access_log off;
        }
        location ~* "^/[a-z0-9]{40}\.(css|js)$" {
          gzip_static on;
          root /home/USERNAME/portal/programs/web.browser;
          access_log off;
        }
        location ~ "^/packages" {
          root /home/USERNAME/portal/programs/web.browser;
          access_log off;
        }
        # pass requests to Meteor
        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade; #for websockets
            proxy_set_header Connection $connection_upgrade;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $host;
        }
}

这是Nginx.conf

user www-data;
worker_processes auto;
pid /run/Nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

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

        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3,ref: POODLE
        ssl_prefer_server_ciphers on;

        ##
        # Logging Settings
        ##

        access_log /var/log/Nginx/access.log;
        error_log /var/log/Nginx/error.log;

        ##
        # Gzip Settings
        ##
        include /etc/Nginx/mime.types;
        gzip on;
        gzip_disable "msie6";
        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml applicatio
n/xml+RSS text/javascript;
        ##
        # Virtual Host Configs
        ##
        include /etc/Nginx/conf.d/*.conf;
        include /etc/Nginx/sites-enabled/*;
}
#mail {
#       # See sample authentication script at:
#       # http://wiki.Nginx.org/ImapAuthenticateWithApachePHPScript
# 
#       # auth_http localhost/auth.PHP;
#       # pop3_capabilities "TOP" "USER";
#       # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#       server {
#               listen     localhost:110;
#               protocol   pop3;
#               proxy      on;
#       }
# 
#       server {
#               listen     localhost:143;
#               protocol   imap;
#               proxy      on;
#       }
#}
include /etc/Nginx/sites-enabled/*;

所以有什么问题?
提前致谢!

最佳答案
尝试将此添加到http {}中的Nginx.conf:

    user www-data;
    worker_processes auto;
    pid /run/Nginx.pid;

    events {
            worker_connections 768;
            # multi_accept on;
    }

    http {
            # this section is needed to proxy web-socket connections
            map $http_upgrade $connection_upgrade {
                    default upgrade;
                      ''      close;
            }

            ##
            # Basic Settings
            ##

            sendfile on;
            tcp_nopush on;
            tcp_nodelay on;
            keepalive_timeout 65;
            types_hash_max_size 2048;
            # server_tokens off;

            # server_names_hash_bucket_size 64;
            # server_name_in_redirect off;

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

            ##
            # SSL Settings
            ##

            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3,ref: POODLE
            ssl_prefer_server_ciphers on;

            ##
            # Logging Settings
            ##

            access_log /var/log/Nginx/access.log;
            error_log /var/log/Nginx/error.log;

            ##
            # Gzip Settings
            ##
            include /etc/Nginx/mime.types;
            gzip on;
            gzip_disable "msie6";
            # gzip_vary on;
            # gzip_proxied any;
            # gzip_comp_level 6;
            # gzip_buffers 16 8k;
            # gzip_http_version 1.1;
            # gzip_types text/plain text/css application/json application/javascript text/xml application/xml applicatio
    n/xml+RSS text/javascript;
            ##
            # Virtual Host Configs
            ##
            include /etc/Nginx/conf.d/*.conf;
            include /etc/Nginx/sites-enabled/*;
    }
    #mail {
    #       # See sample authentication script at:
    #       # http://wiki.Nginx.org/ImapAuthenticateWithApachePHPScript
    # 
    #       # auth_http localhost/auth.PHP;
    #       # pop3_capabilities "TOP" "USER";
    #       # imap_capabilities "IMAP4rev1" "UIDPLUS";
    # 
    #       server {
    #               listen     localhost:110;
    #               protocol   pop3;
    #               proxy      on;
    #       }
    # 
    #       server {
    #               listen     localhost:143;
    #               protocol   imap;
    #               proxy      on;
    #       }
    #}
    include /etc/Nginx/sites-enabled/*;

这不起作用的原因是,您没有在http块中添加地图模块.根据Nginx文档,地图模块只能在http上下文中使用.请参阅Nginx的文档:

http://nginx.org/en/docs/http/ngx_http_map_module.html#map

原文链接:https://www.f2er.com/nginx/435539.html

猜你在找的Nginx相关文章