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-Fehler Nach 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;
直接贴代码吧:
/etc/php-fpm.d/www.conf
配置文件,设置了监听:/etc/nginx/nginx.conf
配置了php
的upstream
:WordPress 配置的文件,需要引入:
文件位置为:
/etc/nginx/inc.d/wordpress-multisite.inc
某一个WordPress网站的配置文件:
将 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……