Rumah  >  Soal Jawab  >  teks badan

Apakah perbezaan antara dua kaedah konfigurasi Nginx ini?

使用 $_GET[‘_url’] sebagai sumber URI:

server {

    listen   80;
    server_name localhost.dev;

    index index.php index.html index.htm;
    set $root_path '/var/www/phalcon/public';
    root $root_path;

    try_files $uri $uri/ @rewrite;

    location @rewrite {
        rewrite ^/(.*)$ /index.php?_url=/;
    }

    location ~ \.php {
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index /index.php;

        include /etc/nginx/fastcgi_params;

        fastcgi_split_path_info       ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO       $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
        root $root_path;
    }

    location ~ /\.ht {
        deny all;
    }
}

使用 $_SERVER[‘REQUEST_URI’] sebagai sumber URI:

server {

    listen   80;
    server_name localhost.dev;

    index index.php index.html index.htm;
    set $root_path '/var/www/phalcon/public';
    root $root_path;

    location / {
        try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
    }

    location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
        root $root_path;
    }

    location ~ /\.ht {
        deny all;
    }
}
曾经蜡笔没有小新曾经蜡笔没有小新2713 hari yang lalu517

membalas semua(1)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:26:22

    Perbezaan utama antara keduanya sepatutnya fastcgi_pass:

    Konfigurasi kedua ialah:

    fastcgi_pass 127.0.0.1:9000;
    

    Konfigurasi pertama ialah:

    fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
    

    Rujukan Wiki: http://zh.wikipedia.org/wiki/Unix_domain_socket

    Soket domain Unix atau soket IPC ialah terminal yang membolehkan komunikasi data antara dua atau lebih proses pada sistem pengendalian yang sama. Berbanding dengan paip, soket domain Unix boleh menggunakan kedua-dua aliran bait dan baris gilir data, manakala komunikasi paip hanya boleh menggunakan aliran bait. Antara muka soket domain Unix sangat serupa dengan soket Internet, tetapi ia tidak menggunakan protokol rangkaian asas untuk berkomunikasi. Fungsi soket domain Unix ialah komponen dalam sistem pengendalian POSIX.

    Soket domain Unix menggunakan alamat fail sistem sebagai identiti mereka. Ia boleh dirujuk oleh proses sistem. Jadi dua proses boleh membuka soket domain Unix pada masa yang sama untuk berkomunikasi. Walau bagaimanapun, kaedah komunikasi ini berlaku dalam kernel sistem dan tidak merambat dalam rangkaian.

    Satu kesimpulan ialah: Bila tekanan pelayan tidak tinggi, tidak banyak perbezaan antara tcp dan soket, tetapi apabila tekanan agak tinggi, kaedah soket memang lebih baik.

    Untuk butiran, anda boleh merujuk perbandingan ini untuk menggunakan soket untuk menyambungkan Nginx untuk mengoptimumkan prestasi php-fpm

    balas
    0
  • Batalbalas