Nginx-basierte WordPress-Installation schlägt fehl?
PHPz
PHPz 2017-05-16 17:28:53
0
3
1090

Ich bin ein Neuling. Ich habe mir kürzlich einen Server zugelegt und wollte zum Vergnügen einen einfachen Blog einrichten. Also habe ich mich für WordPress entschieden, das einfachste, und es Schritt für Schritt gemäß den Tutorials zu WordPress installiert. Gleichzeitig habe ich MySQL installiert, um die WordPress-Datenbank zuzuweisen, und dann php* mit yum gemäß den Informationen installiert (ich habe es installiert). Alle PHP-Pakete, einschließlich php-fpm ), habe ich als Server Nginx ausgewählt, der ebenfalls mit yum installiert wird.

Aber wenn ich WordPress über install.php weiter installiere, erscheint ein 404-FehlerNach dem Entfernen einiger Kommentare der Nginx-Standardkonfiguration erscheint ein 500-Fehler.

Ich habe das Gefühl, dass es sich um ein Problem mit den Nginx-Einstellungen handelt, aber die Konfigurationsdatei in CentOS unterscheidet sich von der im Internet, und auch die Konfiguration verschiedener Informationen im Internet unterscheidet sich. Ich möchte, dass eine erfahrene Person meine Zweifel klärt. Ich wäre einem Neuling sehr dankbar.

Der Inhalt von /etc/nginx/nginx.conf lautet wie folgt:

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 ist wie folgt eingestellt:

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 ist wie folgt eingestellt:

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;
PHPz
PHPz

学习是最好的投资!

Antworte allen (3)
巴扎黑

直接贴代码吧:

/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; }

某一个WordPress网站的配置文件:

server { listen 80; server_name server.name; set $app_root '/home/www/server.name'; include /etc/nginx/inc.d/wordpress-multisite.inc; }
    过去多啦不再A梦
    root xxx; location / { index index.php; } location ~ \.php5?($|/) { set $script $uri; set $path_info ""; if ($uri ~ "^(.+\.php)(/.+)") { set $script $1; set $path_info $2; } 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; }
      左手右手慢动作

      将 nginx 的 default 配置修改为:

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

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

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

      然后 reload 一下 nginx……

        Neueste Downloads
        Mehr>
        Web-Effekte
        Quellcode der Website
        Website-Materialien
        Frontend-Vorlage
        Über uns Haftungsausschluss Sitemap
        Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!