এনগিনেক্স ইউআরআই-তে প্রদত্ত পাথ সংযোজন করে


8

আমি পিএইচপিএমআইএডমিনটি কনফিগার করার চেষ্টা করছি তাই আমি এনগিনেক্সে প্রবাহিত অবস্থানটি সেট করেছি তবে এটি মূল ডিরেক্টরিতে "পিএমএ" সংযুক্ত করে:

2012/08/14 13:59:49 [error] 10151#0: *2 "/usr/share/phpMyAdmin/pma/index.php" is not found (2: No such file or directory), client: 192.168.1.2, server: domain.com, request: "GET /pma/ HTTP/1.1", host: "192.168.1.24"

কনফিগ:

location ^~ /pma {
            root /usr/share/phpMyAdmin;

        location ~ \.php$ {
            root /usr/share/phpMyAdmin;
            fastcgi_pass unix:/var/run/php-fpm/www.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_param HTTPS on;
        }

## HTTP to HTTPS redirect
server {
    listen  80;
    root  /var/empty;
    server_name domain.com;
    rewrite ^ https://domain.com$request_uri permanent;
    }


server {

    listen      443 default_server ssl;
    root        /var/www/html;
    index index.php index.html index.htm;
    server_name domain.com;

    location / {
        try_files $uri $uri/ /index.php?$args;

    }


    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    fastcgi_param HTTPS on;
    }

## phpMyAdmin
    location ^~ /pma  {
    alias /usr/share/phpMyAdmin/;
       try_files $uri $uri/ /index.php;

    location ~ ^/pma(.+\.php)$ {
    fastcgi_pass unix:/var/run/php-fpm/www.sock;
    fastcgi_index index.php;
    alias /usr/share/phpMyAdmin$1;
    fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$1;
    include fastcgi_params;
    fastcgi_param HTTPS on;

    try_files $uri $uri/ /index.php?q=$request_uri;
    }
    }

## deny access to .htaccess files, if Apache's document root concurs with nginx's one
    location ~ /\. {
    access_log off;
    log_not_found off;
    deny  all;
    }

#serve static files directly
location ~* \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
    access_log off;
    log_not_found off;
    expires 2w;
    add_header Pragma "public";
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }

}

দেখে মনে হচ্ছে এই কারণে যে "মূল" নির্দেশক, এটি হবে "ওরফে" এর পরিবর্তে তবে এই পরিবর্তন আমি পেয়ে করছি:FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client:..."
HTF

প্রশাসনিক প্যানেলগুলি বিষয়বস্তু।
হোপলেস এন 00 বি

উত্তর:


8

আমি পিএইচপিএমআইএডমিন কনফিগার করার চেষ্টা করছি তাই আমি এনগিনেক্সে প্রবাহিত অবস্থানটি সেট করেছি তবে এটি মূল ডিরেক্টরিতে "পিএমএ" সংযোজন করেছে

কারণ এটি ... rootউপায়টি কাজ করে।

যদি আপনি rootএই locationব্লকের ভিতরে নির্দেশিকা ব্যবহার করতে চান তবে আপনাকে অবশ্যই একটি ইউআরআই ডিরেক্টরি ডিরেক্টরি হিসাবে উল্লেখ করতে হবে এবং এটির থেকে সরিয়ে ফেলতে হবে root, এরকম কিছু:

    location /phpmyadmin {
        root /usr/share/;
        try_files $uri $uri/ /index.php;

        location ~ ^/phpmyadmin(.+\.php)$ {
            root /usr/share/;
            fastcgi_pass 127.0.0.1:9000;
            include fastcgi.conf;
            fastcgi_intercept_errors        on;
        }
    }

আপনি যদি ইউআরআইকে আরও সহজ রাখতে চান তবে aliasপরিবর্তে নির্দেশিকা ব্যবহার করুন:

    location /pma {
        alias /usr/share/phpmyadmin/;
        try_files $uri $uri/ /index.php;

        location ~ ^/pma(.+\.php)$ {
            alias /usr/share/phpmyadmin$1;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$1;
            include fastcgi_params;
            fastcgi_intercept_errors        on;
        }
    }

ধন্যবাদ ব্যাখ্যা জন্য অবশ্য আমি এখনও নিম্নলিখিত ত্রুটির পেয়ে করছি: 2012/08/15 11:34:43 [error] 20685#0: *526 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.1.130, server: domain.com, request: "GET /pma/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/www.sock:", host: "192.168.1.24"। আমি এনগিনেক্সকে পছন্দ করি তবে সাব-ডিরেক্টরেটারির জন্য সহজ
উরফ

আপনার বর্তমান সম্পূর্ণ কনফিগার পোস্ট করুন।
কোয়ান্টা

1. ^~থেকে সরান location ^~ /pma। এই অবস্থানটি উপরে রাখুন location ~ \.php$
কোয়ান্টা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.