recherche

Maison  >  Questions et réponses  >  le corps du texte

L'installation de WordPress basée sur Nginx échoue ?

Je suis un débutant. J'ai récemment acquis un serveur et je voulais créer un blog simple pour m'amuser. J'ai donc choisi WordPress, le plus simple, et je l'ai installé étape par étape selon les tutoriels sur WordPress. En parallèle, j'ai installé mysql pour allouer la base de données WordPress, puis j'ai installé php* en utilisant yum selon les informations (j'ai installé. tous les packages php, y compris php-fpm ), le serveur que j'ai choisi est Nginx, qui est également installé avec yum.

Mais lorsque je continue d'installer wordpress via install.php, une erreur 404 apparaît Après avoir supprimé certains commentaires de la configuration par défaut de nginx, une erreur 500 apparaît.

Je pense qu'il s'agit d'un problème avec les paramètres nginx, mais le fichier de configuration dans CentOS est différent de celui sur Internet, et la configuration de diverses informations sur Internet est également différente. J'aimerais qu'une personne expérimentée clarifie mes doutes. Je serais très reconnaissant envers un débutant.

Le contenu de /etc/nginx/nginx.conf est le suivant :

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 est défini comme suit :

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 est défini comme suit :

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;
PHPzPHPz2794 Il y a quelques jours1199

répondre à tous(3)je répondrai

  • 巴扎黑

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

    Publiez le code directement :

    Fichier de configuration /etc/php-fpm.d/www.conf, mettre en place la surveillance : /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 configure l'en amont de php :

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

    Les fichiers de configuration WordPress doivent être importés :🎜 🎜L'emplacement du fichier est : /etc/nginx/inc.d/wordpress-multisite.inc🎜 rrreee 🎜Fichier de configuration d'un certain site WordPress : 🎜 rrreee

    répondre
    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;
    }
    

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-16 17:30:53

    Modifiez la configuration par défaut de nginx pour :

    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

    Modifiez la configuration /etc/php5/fpm/pool.d/www.conf de php-fpm :

    écouter = /var/run/php5-fpm.sock🎜 🎜Puis rechargez nginx...🎜

    répondre
    0
  • Annulerrépondre