Rumah  >  Soal Jawab  >  teks badan

ralat konfigurasi nginx

konfigurasi nginx

# user  nobody;
worker_processes  1;

# error_log  logs/error.log;
# error_log  logs/error.log  notice;
# error_log  logs/error.log  info;

# pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    # 开启gzip
    gzip on;
    # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
    gzip_min_length 1k;
    # gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
    gzip_comp_level 2;
    # 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    # 是否在http header中添加Vary: Accept-Encoding,建议开启
    gzip_vary on;
    # 禁用IE 6 gzip
    gzip_disable "MSIE [1-6]\.";

    #配置nginx缓存
    proxy_cache_path /etc/nginx/cache levels=1:2 keys_zone=cache_one:500m inactive=10d max_size=10g;
    proxy_temp_path /etc/nginx/cache/temp;

    upstream service {
        ip_hash;
        server 127.0.0.1:13333 max_fails=2 fail_timeout=5s;
        server 127.0.0.1:13334 max_fails=2 fail_timeout=5s;
    }

    server {
        listen       80;
        server_name  xxxxx.com;

        listen       443 ssl;
        underscores_in_headers on;
        ignore_invalid_headers off;

        ssl_certificate      cert/214001950380329.pem;
        ssl_certificate_key  cert/214001950380329.key;

        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;

        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;

        #charset utf-8;

        #access_log  logs/host.access.log  main;

        #网站首页
        location / {
            root   /data/www/;     #html;
            index  index.html index.htm;
        }

        #后台工程配置
        location ^~/admin/ {
            alias   /data/backend/www/;
            index  index.html;
        }
        location /api/ {
            proxy_pass http://localhost:3000/api;
        }

        location /service {
            proxy_set_header X-Real-IP  $http_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_pass http://service;
        }

        location ~ .*\.(js|css|gif|jpg|jpeg|png|webp|bmp|swf|flv)$ {
            root /data/www; 
            #向upstream服务器同时发送http头,头信息中包括Host:主机、X-Real-IP:客户端真实IP地址
            proxy_set_header   Host $host:$server_port;
            proxy_set_header   X-Real-IP   $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            # proxy_pass http://127.0.0.1;
            # proxy_redirect off;
            #上面定义的cache_one缓存区被用于这个位置。 Nginx会在这里检查传递给后端有效的条目。
            proxy_cache       cache_one;
            proxy_cache_valid 200 304 12h;
            proxy_cache_valid any 10m;
            proxy_cache_key   $host$uri$is_args$args;
            add_header  Nginx-Cache "$upstream_cache_status";  
            expires max;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

    include servers/*;
}

error.log

2017/06/02 15:50:12 [error] 26536#26536: *3768 open() "/data/www/admin" failed (2: No such file or directory), client: xxxxxxxxx, server: xxxxx.com, request: "GET /admin HTTP/1.1", host: "xxxxx.com"

Direktori halaman utama laman web adalah di /data/www
Halaman utama pentadbir berada di /data/backend/www/

Apakah kombinasi yang sepatutnya?

为情所困为情所困2691 hari yang lalu1050

membalas semua(2)saya akan balas

  • 世界只因有你

    世界只因有你2017-06-06 09:56:31

    Oleh kerana laluan yang anda konfigurasikan sepadan dengan /admin/ dan url bermula dengan /admin/, /data/www/admin diminta

    Apabila anda melawati xxxxx.com/admin, ia bersamaan dengan yang pertama padanan

       #网站首页
        location / {
            root   /data/www/;     #html;
            index  index.html index.htm;
        }

    Lawati xxxxx.com/admin/ untuk mencari perlawanan

        #后台工程配置
        location ^~/admin/ {
            alias   /data/backend/www/;
            index  index.html;
        }

    Selain itu, anda juga boleh menukarnya kepada dua pelayan untuk mengasingkan halaman utama laman web dan bahagian pengurusan laman web secara asas, yang juga akan memudahkan untuk menambah nama domain kemudian

    balas
    0
  • PHPz

    PHPz2017-06-06 09:56:31

    Siapa pengguna yang sedang nginx anda jalankan? Apakah keizinan direktori /data/www/admin

    ?

    balas
    0
  • Batalbalas