We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
nginx + php-fpm + wordpress + wp super cache
-
- Posts: 10
- Joined: Mon Jun 08, 2015 6:19 pm
nginx + php-fpm + wordpress + wp super cache
Привет, друзья. Пожалуйста, Помогите!
Я не любитель создавать темы с вопросами, т.к для меня это хобби и предпочитаю разбираться во всем сам (используя google конечно). Когда проблему решаешь сам, после долгих поисков, то и запоминается лучше. Но, уже довольно долго просто не могу побороть одну проблему: на сервере с 1GB оперативки с nginx + php-fpm, стоит wordpress, работает нормально (домен https - lets encrypt). Но! Как только я скачиваю, устанавливаю, активирую и включаю плагин wp super cache, при открытии главной страницы, вижу ошибку 500 (Internal Server Error, внутренняя ошибка сервера). Уже кажется всё перепробовал, но побороть это, увы, никак не получается.
В логах php-fpm - чисто, изредка проскакивает ошибка (ERROR: fork() failed: Cannot allocate memory (12)) но с плагином это не связано.
Админка wordpress при этом нормально работает и открывается, если сделать проверку кэширования выводит:
При открытии страницы: Логи nginx:
Шаблон для php-fpm пробовал wordpress.stpl и wordpress2.stpl - не работает, в данный момент стоит этот:
Т.е я пробовал без этих значений
и с ними... кажется уже все комбинации перепробовал, т.к я пока не особо в этом разбираюсь, то не знаю что еще можно попробовать... может кто тут скажет, куда копать? Заранее спасибо.
Я не любитель создавать темы с вопросами, т.к для меня это хобби и предпочитаю разбираться во всем сам (используя google конечно). Когда проблему решаешь сам, после долгих поисков, то и запоминается лучше. Но, уже довольно долго просто не могу побороть одну проблему: на сервере с 1GB оперативки с nginx + php-fpm, стоит wordpress, работает нормально (домен https - lets encrypt). Но! Как только я скачиваю, устанавливаю, активирую и включаю плагин wp super cache, при открытии главной страницы, вижу ошибку 500 (Internal Server Error, внутренняя ошибка сервера). Уже кажется всё перепробовал, но побороть это, увы, никак не получается.
В логах php-fpm - чисто, изредка проскакивает ошибка (ERROR: fork() failed: Cannot allocate memory (12)) но с плагином это не связано.
Админка wordpress при этом нормально работает и открывается, если сделать проверку кэширования выводит:
SpoilerShow
Code: Select all
Проверка страницы http://domain.ru/ в кэше: ЕСТЬ (0.html)
Проверка первой копии http://domain.ru/: ЕСТЬ (1.html)
Проверка второй копии http://domain.ru/: ЕСТЬ (2.html)
Страница 1: 500 (Internal Server Error)
Страница 2: 500 (Internal Server Error)
Страницы не совпадают! Временной штамп отличается или не был найден!
SpoilerShow
Code: Select all
2017/10/10 19:45:28 [error] 31451#31451: *5 FastCGI sent in stderr: "PHP message: PHP Fatal error: Call to a member function get() on null in /home/admin/web/domain.ru/public_html/home/wp-includes/cache.php on line 123" while reading response header from upstream, client: 46.241.26.95, server: domain.ru, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9024", host: "domain.ru"
SpoilerShow
Code: Select all
server {
listen %ip%:%web_ssl_port%;
server_name %domain_idn% %alias_idn%;
root %docroot%;
index index.php index.html index.htm;
access_log /var/log/nginx/domains/%domain%.log combined;
access_log /var/log/nginx/domains/%domain%.bytes bytes;
error_log /var/log/nginx/domains/%domain%.error.log error;
ssl on;
ssl_certificate %ssl_pem%;
ssl_certificate_key %ssl_key%;
set $cache_uri $request_uri;
# POST requests should always go to PHP
if ($request_method = POST) {
set $cache_uri 'null cache';
}
# urls with a query string should always go to PHP
if ($query_string != "") {
set $cache_uri 'null cache';
}
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php
|wp-.*.php|/feed/|index.php|wp-comments-popup.php
|wp-links-opml.php|wp-locations.php |sitemap(_index)?.xml
|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
set $cache_uri 'null cache';
}
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+
|wp-postpass|wordpress_logged_in") {
set $cache_uri 'null cache';
}
set $cachefile "/wp-content/cache/supercache/$http_host$cache_uri/index.html";
if ($scheme = https) {
set $cachefile "/wp-content/cache/supercache/$http_host$cache_uri/index-https.html";
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
gzip_static on;
try_files $cachefile $uri $uri/ /index.php?$args;
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_read_timeout 600s;
fastcgi_send_timeout 600s;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass %backend_lsnr%;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
error_page 403 /error/404.html;
error_page 404 /error/404.html;
error_page 500 502 503 504 /error/50x.html;
location /error/ {
alias %home%/%user%/web/%domain%/document_errors/;
}
location ~* "/\.(htaccess|htpasswd)$" {
deny all;
return 404;
}
location /vstats/ {
alias %home%/%user%/web/%domain%/stats/;
include %home%/%user%/web/%domain%/stats/auth.conf*;
}
include /etc/nginx/conf.d/phpmyadmin.inc*;
include /etc/nginx/conf.d/phppgadmin.inc*;
include /etc/nginx/conf.d/webmail.inc*;
include %home%/%user%/conf/web/snginx.%domain_idn%.conf*;
}
Code: Select all
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_read_timeout 600s;
fastcgi_send_timeout 600s;