cim
Elgg framework not finding files from php proxy
August 11, 2015 02:56AM
Hello, I migrated serves and ditched the control panel to manage my VPS. I'm using vpssim.com LEMP stack installer. I'm getting a 404 error on groups and blog icons due to having no rules to serve the images via Elgg's proxy php script.

WEB CONSOLE
================================

[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (1359374563.jpg, line 0) https://demyx.com/groupicon/7006/small/1359374563.jpg
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (1424436197.jpg, line 0) https://demyx.com/blogicon/13587/medium/1424436197.jpg

ELGG NGINX CONFIG
================================

# Elgg Nginx configuration. Customize and put into /etc/nginx/sites-enabled

server {
listen 80;
server_name example.org;

# Server root, replace it with your elgg installation location
root /srv/example.org;
index index.php index.html index.htm;

# Server logs, replace it with your project names
error_log /var/log/nginx/example_error.log;
access_log /var/log/nginx/example_access.log;

location ~ (^\.|/\.) {
return 403;
}

location /cache {
rewrite ^/cache\/(.*)$ /engine/handlers/cache_handler.php?request=$1&$query_string;
}

location /export {
rewrite ^/export\/([A-Za-z]+)\/([0-9]+)\/?$ /engine/handlers/export_handler.php?view=$1&guid=$2;
rewrite ^/export\/([A-Za-z]+)\/([0-9]+)\/([A-Za-z]+)\/([A-Za-z0-9\_]+)\/$ /engine/handlers/export_handler.php?view=$1&guid=$2&type=$3&idname=$4;
}

location = /rewrite.php {
rewrite ^(.*)$ /install.php;
}

location / {
try_files $uri $uri/ /index.php?__elgg_uri=$uri&$query_string;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}

MY CONFIG
================================

server {
server_name www.demyx.com;
rewrite ^(.*) https://demyx.com$1 permanent;
}
server {
listen 80;
listen 443;
access_log off;
error_log on;
error_log /home/demyx.com/logs/error.log;
root /home/demyx.com/public_html;
include /etc/nginx/conf/ddos2.conf;
index index.php index.html index.htm;
server_name demyx.com;

ssl on;
ssl_certificate /etc/sslmate/www.demyx.com.crt;
ssl_certificate_key /etc/sslmate/www.demyx.com.key;

#///////////////////////////////////////////////////////
#///////////////////////////////////////////////////////
#Run all the websites,if you use your rule, comment or delete the line below (AAA)
#include /etc/nginx/conf/all.conf;

#If you use your rule, comment or delete above line, and Uncoment 3 lines belows and set your rule within it.. (BBB)
#location / {
#Uncomment 3 lines and set your rules here!
#}

# Rule cho wordpress + Plugin wp super cache. (CCC)
#include /etc/nginx/conf/supercache.conf;

# Rule cho wordpress + Plugin W3 Total Cache. (DDD)
#include /etc/nginx/conf/w3totalcache.conf;

#Do not delete the bottom line, if you delete google pagespeed function will not work!!
include /etc/nginx/ngx_pagespeed.conf;

#security, sql injection Propeller ....(uncoment if you want to use). Because some website plugins do not run with this config, so VPSSIM to turn off default
#include /etc/nginx/conf/block.conf;

location ~ (^\.|/\.) {
return 403;
}

location ^~ /cache {
rewrite ^/cache\/(.*)$ /engine/handlers/cache_handler.php?request=$1&$query_string;
}

#location ^~ /groupicon {
# rewrite /groupicon\/(.*)$ /engine/handlers/cache_handler.php?request=$1&$query_string;
#return "groupicon/$group->guid/$size/$icontime.jpg";
#}

location /export {
rewrite ^/export\/([A-Za-z]+)\/([0-9]+)\/?$ /engine/handlers/export_handler.php?view=$1&guid=$2;
rewrite ^/export\/([A-Za-z]+)\/([0-9]+)\/([A-Za-z]+)\/([A-Za-z0-9\_]+)\/$ /engine/handlers/export_handler.php?view=$1&guid=$2&type=$3&idname=$4;
}

location = /rewrite.php {
rewrite ^(.*)$ /install.php;
}

location / {
try_files $uri $uri/ /index.php?__elgg_uri=$uri&$query_string;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
root /home/demyx.com/public_html;
fastcgi_index index.php;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 256k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /home/demyx.com/public_html$fastcgi_script_name;
}

include /etc/nginx/conf/staticfiles.conf;
#include /etc/nginx/conf/phpstatus.conf;
include /etc/nginx/conf/drop.conf;
#include /etc/nginx/conf/errorpage.conf;

}


Any help would be appreciated! By the way I am running on CentOS 6.7, PHP 5.6 and PHP-FPM. The data folder is located outside of the root directory and served via Elgg's proxy script but it's not finding it due to missing rules.



Edited 4 time(s). Last edit at 08/11/2015 03:03AM by cim.
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 145
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready