Уважаемые владельцы веб-серверов! у меня проблема - сайт работает на локальном компьютере, html открывается, но php скачиваются.
я пользовался уже тремя мануалами:
https://help.ubuntu.ru/wiki/nginx-phpfpm - тут не было сказано про ipv6, пришлось удалять строку ipv6 из default
https://forum.ubuntu.ru/?topic=70057.0 - тут файлы сайтов в домашней папке, и у меня это вызывало ошибку нет прав доступа, поэтому я нашел что надо перенести /home/znavko/www в /var/www
http://habrahabr.ru/post/113101/ - тут после прописи location ~ \.php$ { ....} у меня стало 502 при обращении к пхп-файлам.
подскажите как правильно настроить вирт хост? у меня в данный момент конфиг выглядит так, инклуды взяты из первого мануала. мой сайт: o.cc вирт хост:
include common/upstream;
server
{
listen 80;
server_name o.cc www.o.cc *.o.cc;
root /var/www/o.cc/public/;
index index.php index.html index.htm;
client_max_body_size 200m;
include common/security;
include common/gzip;
location /
{
try_files $uri $uri/ =404; # проверить есть ли файл из запроса на диске, иначе - вернуть ошибку 404
include common/deny;
}
location ~ /\.ht {
deny all;
}
}
есть ли тут ошибка, как мне настроить php через php5-fpm?
Пользователь решил продолжить мысль [time]25 Сентябрь 2015, 02:41:32[/time]:
помог пример настроек вирт хоста для wordpress в первом мануале
РЕШНО: надо просто правильно настроить location для php-файлов.мой файл настроек для сайта o.cc, то есть
листинг /etc/nginx/sites-available/o.ccinclude common/upstream;
server
{
listen 80;
server_name o.cc www.o.cc *.o.cc;
root /var/www/o.cc/public/;
index index.php index.html index.htm;
client_max_body_size 200m;
include common/security;
include common/gzip;
location /
{
try_files $uri $uri/ =404; # проверить есть ли файл из запроса на диске, иначе - вернуть ошибку 404
include common/deny;
}
location ~ \.php$ {
try_files $uri =404;
include common/php-fpm;
include fastcgi_params;
}
}
если мануал изменится то привожу текст подключаемых файлов. имена - относительно директории сервера, то есть /etc/nginx
листинг файла common/upstreamupstream php-fpm
{
server unix:/var/run/php5-fpm.sock;
}
листинг common/securityadd_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
листинг common/gzipgzip on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types text/plain application/xml text/css text/js text/xml application/x-javascript text/javascript application/javascript application/json application/xml+rss;
листинг common/denylocation ~* "/\.(htaccess|htpasswd)$"
{
deny all;
return 404;
}
листинг common/php-fpm# Настройки порта или сокета PHP-FPM производятся в файле "/etc/php5/fpm/pool.d/www.conf"
fastcgi_pass php-fpm;
# Порядок важен - строчка "include fastcgi_params" должна быть первой
include fastcgi_params;
fastcgi_split_path_info ^(.+?\.php)(/.*)?$;
# Вместо переменной "$document_root" можно указать адрес к корневому каталогу сервера и это желательно (см. http://wiki.nginx.org/Pitfalls)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;
# См. http://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
# Additional variables
fastcgi_param SERVER_ADMIN email@example.com;
fastcgi_param SERVER_SIGNATURE nginx/$nginx_version;
fastcgi_index index.php;
листинг fastcgi_paramsfastcgi_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_FILENAME $request_filename;
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 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;
fastcgi_param HTTPS $https if_not_empty;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;