Я установил nginx и хотел бы настроить WordPress в качестве последнего шага. Я следил за многими инструкциями, но не могу заставить его работать.
Настройка довольно проста, корневой каталог веб-сервера - /data/Sites/nkr1pt.homelinux.net. В этом корневом каталоге я создал символическую ссылку на папку wordpress в / usr / local / wordpress, поэтому на самом деле все файлы wordpress доступны по адресу /data/Sites/nkr1pt.homelinux.net/wordpress. Разрешения в порядке.
План состоит в том, чтобы WordPress работал на http: // sirius / wordpress, имя сервера - сириус. spawn-fcgi работает и прослушивает порт 7777.
Здесь вы можете увидеть соответствующий конфиг:
server {
listen 80;
listen 8080;
server_name sirius;
root /data/Sites/nkr1pt.homelinux.net;
passenger_enabled on;
passenger_base_uri /redmine;
#charset koi8-r;
#access_log logs/access.log main;
location ^~ /data {
root /data/Sites/nkr1pt.homelinux.net;
autoindex on;
auth_basic "Restricted";
auth_basic_user_file htpasswd;
}
location ^~ /dump {
root /data/Sites/nkr1pt.homelinux.net;
autoindex on;
}
location ^~ /wordpress {
try_files $uri $uri/ /wordpress/index.php;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:7777
location ~ \.php$ {
#fastcgi_split_path_info ^(/wordpress)(/.*)$;
fastcgi_pass localhost:7777;
#fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
#index index.php;
}
обратите внимание, что redmine, дамп местоположений и данные работают отлично, я не могу заставить работать только wordpress.
Не могли бы вы помочь мне правильно настроить wordpress в nginx? Любая помощь очень ценится!
Я вижу, что вы включили fastcgi_params в свой nginx.conf после настройка:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Если fastcgi_params заменяет SCRIPT_FILENAME чем-то другим, предыдущая строка будет проигнорирована и Wordpress не будет работать. Я предлагаю вам изменить порядок этих двух строк, например:
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Используйте перезапись на уровне сервера. Вам следует отрегулировать все остальные места. Да и кстати, ваша установка небезопасна. Вы должны использовать вложенное местоположение или fastcgi_split_path_info
. Вы можете проверить мой Конфигурация WP на github для подхода вложенного местоположения.
В любом случае вот ваш запрос ответил:
rewrite ^ http://$host/wordpress$request_uri? permanent;
Из того, что я видел, главное, чтобы Wordpress заработал, - это перевести правила mod_rewrite в формат nginx. Формат:
if (!-e $request_filename)
{
rewrite ^(.+)$ /index.php?q=$1 last;
}
Тебя тоже не хватает
root /path/to/wordpress
В этом подразделе.
В противном случае вы видите конкретную ошибку? Что показывают журналы ошибок?