Rumah  >  Soal Jawab  >  teks badan

Pemasangan WordPress berasaskan Nginx gagal?

Saya seorang pemula baru-baru ini mendapat pelayan dan ingin menyediakan blog yang mudah untuk dinikmati sendiri. Jadi saya memilih WordPress, yang paling mudah, dan memasangnya langkah demi langkah mengikut tutorial di WordPress Pada masa yang sama, saya memasang mysql untuk memperuntukkan pangkalan data WordPress, dan kemudian memasang php* menggunakan yum mengikut maklumat (saya memasang. semua pakej php, termasuk php-fpm ), pelayan yang saya pilih ialah Nginx, yang juga dipasang menggunakan yum.

Tetapi apabila saya terus memasang wordpress melalui install.php, ralat 404 muncul Selepas mengalih keluar beberapa komen konfigurasi lalai nginx, ralat 500 muncul.

Saya rasa ia adalah masalah dengan tetapan nginx, tetapi fail konfigurasi dalam CentOS berbeza daripada yang ada di Internet, dan konfigurasi pelbagai maklumat di Internet juga berbeza. Saya ingin orang yang berpengalaman menjelaskan keraguan saya. Saya akan sangat berterima kasih kepada seorang pemula.

Kandungan /etc/nginx/nginx.conf adalah seperti berikut:

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

/etc/nginx/conf.d/default.conf ditetapkan seperti berikut:

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #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   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    location ~ \.php$ {
        proxy_pass   http://127.0.0.1;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include        fastcgi_params;
    }

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

/etc/nginx/fastcgi_params ditetapkan seperti berikut:

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
PHPzPHPz2712 hari yang lalu1125

membalas semua(3)saya akan balas

  • 巴扎黑

    巴扎黑2017-05-16 17:30:53

    Siarkan kod terus:

    Fail konfigurasi /etc/php-fpm.d/www.conf, sediakan pemantauan: /etc/php-fpm.d/www.conf 配置文件,设置了监听:

    ...
    ;                            (IPv6 and IPv4-mapped) on a specific port;
    ;   '/path/to/unix/socket' - to listen on a unix socket.
    ; Note: This value is mandatory.
    ; listen = 127.0.0.1:9000
    listen = /var/run/php-fpm.sock
    
    ; Set listen(2) backlog.
    ; Default Value: 65535
    ;listen.backlog = 65535
    ...
    

    /etc/nginx/nginx.conf 配置了 phpupstream

        ...
        reset_timedout_connection on;
        server_names_hash_bucket_size 2048;
    
        upstream php {
            server unix:/var/run/php-fpm.sock;
        }
    
        include /etc/nginx/conf.d/*.conf;
        ...
    

    WordPress 配置的文件,需要引入:

    文件位置为:/etc/nginx/inc.d/wordpress-multisite.inc

    charset utf-8;
    
    root $app_root/public;
    index index.php index.html index.htm;
    
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;
    
    location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        access_log off; log_not_found off; expires max;
    }
    
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass php;
    }
    
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    
    location = /robots.txt {
        log_not_found off;
        access_log off;
    }
    
    location ~ /\. {
        deny all;
    }
    
    location ~* /(?:uploads|files)/.*\.php$ {
        deny all;
    }
    

    /etc/nginx/nginx.conf mengkonfigurasi upstream php:

    server {
        listen 80;
        server_name server.name;
        set $app_root '/home/www/server.name';
        include /etc/nginx/inc.d/wordpress-multisite.inc;
    }
    

    Fail konfigurasi WordPress perlu diimport:🎜 🎜Lokasi fail ialah: /etc/nginx/inc.d/wordpress-multisite.inc🎜 rrreee 🎜Fail konfigurasi tapak web WordPress tertentu: 🎜 rrreee

    balas
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:30:53

    root xxx;
    
    location / {
           index index.php;
    }
    
    location ~ \.php5?($|/) {
           set $script $uri;
           set $path_info "";
    
           if ($uri ~ "^(.+\.php)(/.+)") {
                 set $script ;
                 set $path_info ;
           }
    
           unix:/var/run/php-fpm/php-fpm.sock
           fastcgi_index index.php;
           fastcgi_param SCRIPT_FILENAME $document_root$script;
           fastcgi_param SCRIPT_NAME $script;
           fastcgi_param PATH_INFO $path_info;
    }
    

    balas
    0
  • ringa_lee

    ringa_lee2017-05-16 17:30:53

    Ubah suai konfigurasi lalai nginx kepada:

    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sockfastcgi_pass unix:/var/run/php-fpm/php-fpm.sock

    再去修改 php-fpm 的 /etc/php5/fpm/pool.d/www.conf 配置:

    listen = /var/run/php5-fpm.sock

    Ubah suai konfigurasi /etc/php5/fpm/pool.d/www.conf php-fpm:

    dengar = /var/run/php5-fpm.sock🎜 🎜Kemudian muat semula nginx...🎜

    balas
    0
  • Batalbalas