Настройка Nginx для Phalcon на сервере Plesk 11.5

Я работал над проектом с Phalcon в локальной среде разработки (Vagrant + Virtualbox). Это просто прекрасно работает, и мое время разработки действительно сократилось.

Теперь я хотел бы перевести этот проект в Интернет в среде nginx Plesk 11.5 и столкнулся с проблемой настройки Nginx в Plesk для Phalcon. Я также довольно новичок в Nginx.

У меня есть следующая конфигурация Nginx:

server {

listen   80;
server_name localhost.dev;

index index.php index.html index.htm;
set $root_path '/var/www/httpdocs';
root $root_path;

try_files $uri $uri/ @rewrite;

location @rewrite {
rewrite ^/(.*)$ /index.php?_url=/$1;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
}

location ~ /\.ht {
deny all;
}
}

Я удалил «server {}», потому что они не разрешены в конфигурации Plesk nginx. Тем не менее, это просто не работает. Домашняя страница приложения отображается отлично, поэтому Phalcon работает просто отлично, но маршрутизация не работает: / search просто дает 404, где он работает в моей локальной среде с этой конфигурацией.

Что я должен изменить в Plesk, чтобы это работало?

Спасибо за ваше время заранее!

1

Решение

Прежде всего, проверьте PHP на обработке вашего домена PHP-FPM или Apache.

В случае, если вы используете nginx точно так же, как обратный прокси-сервер для apache и PHP, обрабатываемых apache, вам просто нужно поместить загрузочные файлы Phalcon index.php и .htaccess в /var/www/vhosts/domain.tld/httpdocs и все другие файлы приложения в / var /www/vhosts/domain.tld
(Я успешно запустил учебник Phalcon по такой конфигурации)

В случае PHP-FPM самый простой способ — это определить настраиваемый шаблон виртуального хоста

mkdir -p /usr/local/psa/admin/conf/templates/custom/domain
cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/

И в /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php задайте условие для вашего доменного имени, просто отобразите всю полную конфигурацию, например:

<?php if $VAR->domain->asciiName == 'your-domain.tld' ?>

plain text of your full nginx config here

<?php   else: ?>

plesk default instruction for all other domains

<?php endif ?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]