NGinx Default public www location?

前端 未结 30 908
野性不改
野性不改 2020-11-28 17:51

I have worked with Apache before, so I am aware that the default public web root is typically /var/www/.

I recently started working with nginx, but I ca

相关标签:
30条回答
  • 2020-11-28 17:58

    For CentOS, Ubuntu and Fedora, the default directory is /usr/share/nginx/html

    0 讨论(0)
  • 2020-11-28 18:01

    The default web folder for nginx depends on how you installed it, but normally it's in these locations:

    /usr/local/nginx/html
    /usr/nginx/html
    
    0 讨论(0)
  • 2020-11-28 18:02

    you can access file config nginx,you can see root /path. in this default of nginx apache at /var/www/html

    0 讨论(0)
  • 2020-11-28 18:08

    *default pages web allocated in var/www/html *default configuration server etc/nginx/sites/avaliable/nginx.conf

    server {
    
        listen 80 default_server;
        listen [::]:80 default_server;
    
        root /var/www/html;
    
        index index.html index.php;
    
        server_name _;
    
        location /data/ {
            autoindex on;
        }
    
        location /Maxtor {
            root /media/odroid/;
            autoindex on;
    
        }
    
            # This option is important for using PHP.
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
        }
    }
    

    *default configuracion server etc/nginx/nginx.conf

    content..

    user www-data;
    worker_processes 8;
    pid /run/nginx.pid;
    include /etc/nginx/modules-enabled/*.conf;
    
    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
        ##
    
        gzip on;
    
        # 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 application/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;
    #   }
    #}
    

    default access logs with ip clients var/log/nginx/...

    0 讨论(0)
  • 2020-11-28 18:08

    The default is related to the prefix option of the configure script when nginx is compiled; here's some strange sample from Debian:

    % nginx -V | & tr ' ' "\n" | fgrep -e path -e prefix
    --prefix=/etc/nginx
    --conf-path=/etc/nginx/nginx.conf
    --error-log-path=/var/log/nginx/error.log
    --http-client-body-temp-path=/var/lib/nginx/body
    --http-fastcgi-temp-path=/var/lib/nginx/fastcgi
    --http-log-path=/var/log/nginx/access.log
    --http-proxy-temp-path=/var/lib/nginx/proxy
    --http-scgi-temp-path=/var/lib/nginx/scgi
    --http-uwsgi-temp-path=/var/lib/nginx/uwsgi
    --lock-path=/var/lock/nginx.lock
    --pid-path=/var/run/nginx.pid
    

    Subsequently, the default value of root is set to the html directory (as per the documentation of the root directive), which happens to be within prefix , as can be verified by looking at the $document_root variable from a simple configuration file:

    # printf 'server{listen 4867;return 200 $document_root\\n;}\n' \
        >/etc/nginx/conf.d/so.10674867.conf
    
    # nginx -s reload && curl localhost:4867
    /etc/nginx/html
    

    However, evil distributions like Debian seem to modify it quite a bit, to keep you extra entertained:

    % fgrep -e root -e include /etc/nginx/nginx.conf
        include /etc/nginx/mime.types;
        #include /etc/nginx/naxsi_core.rules;
        #passenger_root /usr;
        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
    
    % fgrep -e root -e include \
        /etc/nginx/conf.d/*.conf /etc/nginx/sites-enabled/*
    /etc/nginx/conf.d/so.10674867.conf:server{listen 4867;return 200 $document_root\n;}
    /etc/nginx/sites-enabled/default:   root /usr/share/nginx/www;
    /etc/nginx/sites-enabled/default:       # include /etc/nginx/naxsi.rules
    /etc/nginx/sites-enabled/default:   #   root /usr/share/nginx/www;
    /etc/nginx/sites-enabled/default:   #   include fastcgi_params;
    /etc/nginx/sites-enabled/default:   # deny access to .htaccess files, if Apache's document root
    /etc/nginx/sites-enabled/default:#  root html;
    /etc/nginx/sites-enabled/default:#  root html;
    

    So, on this instance of Debian, you can see that the root is finally set to /usr/share/nginx/www.

    But as you saw with the sample server configuration that would serve its $document_root value over http, configuring nginx is simple enough that you can write your own configuration in a matter of a single line or two, specifying the required root to meet your exact needs.

    0 讨论(0)
  • 2020-11-28 18:09

    On Mac OS X installing nginx with brew makes the default directory:

    /usr/local/var/www
    

    So:

    root html
    

    means

    root /usr/local/var/www/html
    

    There is no html directory so it would have to be created manually.

    0 讨论(0)
提交回复
热议问题