У меня есть старое приложение kohana, которое я пытаюсь установить на свой VPS, но не могу заставить его работать. Я часами гуглил и просматривал кешированные ответы на форумах. Я перепробовал их все, и, похоже, ничего не работает. по общему признанию, я понятия не имею, как бороться с nginx. моя локальная версия приложения отлично работает с apache. Я в одном шаге от того, чтобы просто отменить свою учетную запись на линоде и получить общий хостинг! пожалуйста, отговорите меня от этого выступа.
мой vps: ubuntu 14.04LTS with php5-fpm and nginx 1.4.6.
я обслуживаю все из моего пользовательского каталога.
мой файл, доступный для сайтов nginx:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /home/gabreal/Sites/public;
index index.html index.htm index.php;
# Make site accessible from http://localhost/
server_name localhost;
location / {
try_files $uri $uri/ @kohana =404;
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location @kohana {
rewrite ^/(.+)$ /index.php$request_uri last;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
мое приложение кохана находится в таком каталоге:
├──/home/gabreal/Sites/public/
│ ├── horizons/
│ │ ├── grader/ (aka the kohana application)
│ │ │ ├── index.php
│ │ │ ├── application/
│ │ │ ├── system/
когда я захожу в приложение, перейдя в http://example.com/horizons/grader
загружается файл начальной загрузки kohana и вызываются все перенаправления. например, мой маршрут по умолчанию перенаправляет вас на стартовую страницу. если вы не вошли в систему, вы перейдете в «пользователь / логин». URL-адрес задан правильно. переходя по указанному выше URL-адресу, браузер перенаправляет на http://example.com/horizons/grader/user/login
но я получаю nginx 404 страница.
так почему-то controller/action
шаблон просто не работает с этой настройкой nginx.
пожалуйста, помогите из любви ко всему, что вы любите в этом мире.
ОБНОВИТЬ
просто fyi, я установил phpmyadmin, и он работает отлично. Я все еще не могу заставить кохану работать ...
ОБНОВЛЕНИЕ 2
Я сделал новую установку kohana и попытался настроить несколько основных контроллеров. только контроллер по умолчанию работает так же, как в моем приложении. Итак, переход к базовому URL-адресу для моего приложения ВСЕГДА работает, но переход напрямую к любому типу ресурса / controller / action / id дает мне ошибка nginx 404 как в новой установке, так и в моем существующем приложении.
Это очевидная проблема:
try_files $uri $uri/ @kohana =404;
В =404
, и весь @kohana
блок местоположения, вероятно, объединяются, чтобы вызвать проблему.
Вы можете упростить это, избавившись от @kohana
location
блок и упрощение try_files
кому:
try_files $uri $uri/ /index.php;
(Kohana не нуждается в каких-либо других параметрах при передаче запроса в index.php; см. Чистые URL страницу для деталей.)