Istnieje wiele samouczków na temat pisania reguł przepisywania Nginx w celu naśladowania pliku .htaccess Apache, ale nie mogę śmiało powiedzieć, że wiem, jaka jest nazwa lub lokalizacja tak zwanego pliku konfiguracyjnego Nginx. W szczególności szukam pliku konfiguracyjnego Nginx, który pozwala napisać ścieżkę serwera i dyrektywy PHP. Używam Ubuntu 12 Linux i Codeigniter jako mojego frameworka PHP.
Oto, co dotychczas wiem:
- Ten plik:
/etc/nginx/nginx.conf
pomimo jego kuszącej nazwy, najwyraźniej nie jest to miejsce na dyrektywy serwerowe. - Ten plik:
/etc/nginx/sites-available/default
wygląda na to, czego potrzebuję (jestem w stanie generować błędy php specyficzne dla mojej aplikacji), ale nie mogę uzyskać prawidłowego routingu ścieżki specyficznej dla Codeigniter. Przede wszystkim, czy jest to plik „config” / .htaccess, o którym wszyscy mówią?
php
apache-2.2
.htaccess
codeigniter
nginx
Tim Peterson
źródło
źródło
nginx -V
którego możesz znaleźć w instrukcji za pomocąman nginx
.-V
Opcja jest udokumentowane jako „-V Wydrukuj wersję kompilatora, Nginx wersję, a parametry skryptu konfiguracji.”. Jeślinginx
nie znajduje się na twojej ścieżce, użyj,which nginx
która zwraca pełną ścieżkę do nginx$(which nginx) -V
Odpowiedzi:
Używam PHP z nginx na moim serwerze programistycznym w następującej konfiguracji:
w
/etc/nginx/nginx.conf
dodałem:include /etc/nginx/sites-enabled/*;
przed ostatnim}
.uruchom następujące polecenia, aby utworzyć konfiguracje witryny:
edytuj konfigurację strony, niektóre możliwe konfiguracje (o tym mówiłem w mojej konfiguracji): http://kbeezie.com/view/nginx-configuration-examples/
link do dostępnej strony, aby ją włączyć
pamiętaj, że możesz faktycznie włączyć pliki w konfiguracje niemal wszędzie, dzięki czemu tworzenie wielu witryn jest łatwe, gdy chcesz połączyć podobne konfiguracje razem.
Tak. .Htaccess można porównać do
server{}
bloku w nginx, ale są one również bardzo różne. nginx ma znacznie lżejsze podejście do parsowania konfiguracji i nie skanuje katalogów witryn w poszukiwaniu dodatkowej konfiguracji, tylko to, co widzi nginx.conf, idzie.źródło
/etc/nginx/nginx.conf
plik ma jużinclude /etc/nginx/sites-enabled/*;
na samym końcu. Wygląda na to, że te 2 pliki rozmawiają ze sobą na moim serwerze, a teraz mam do czynienia z problemami związanymi z Codeigniter. Czy używasz Codeigniter? Istnieje pewna ścieżka funkiness że muszę dostać uchwyt na ...root
parametr. Jeśli potrzebujesz inspiracji, sprawdź moje pytania.