PDA

Просмотр полной версии : nginx и вопрос по установке.


Unnamed
25.03.2008, 18:46
Напишите пожалуйста привила для каталога под этот сервер.
Это раз.
И пока выдает 404 ошибку на любой странице далее главной странице. :( А ранее работало

Vasek
25.03.2008, 20:09
вобщем, я не большой перец в этих делах, так что не факт, что все оптимально :) И это файл конфига для первой версии движка. Подобный файл делаю для каждого каталога, и все файлы лежат в подпапке vhosts и подключаются к главному конфигу директивой "include vhosts/*.conf;"
(у меня nginx+php-FastCGI)

server {
listen ip_сервера:80;
server_name домен_каталога.com;

location / {
root /папка_с_каталогом/;
index index.html index.htm;
### PHP
fastcgi_pass 127.0.0.1:8888;
fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /папка_с_каталогом/$fastcgi_script_name;
fastcgi_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 REQUEST_URI $request_uri;

error_page 404 =200 /index.php;
error_page 403 /index.php;
}

location ~* ^/(.*)/$ {
rewrite ^/(.*)/$ /index.php;
}
location /share/ {
root /папка_с_каталогом/;
}
location /listen/ {
rewrite ^/listen/(.*)$ http://www.mp3fiesta.com/preview/$1;
}
location /covers/ {
rewrite ^/covers/(.*)$ http://img.mp3fiesta.com/covers/$1;
}
location /config/ {
return 404;
}
location /dump/ {
return 404;
}
location /inc/ {
return 404;
}
location /lib/ {
return 404;
}
location /templates/ {
return 404;
}
location /update/ {
return 404;
}
access_log /куда/логи/писать.log;
}

Кстати, если кто подправит, буду признателен.

Unnamed
25.03.2008, 21:28
я понял covers нормально подгружает... Сейчас проверить не могу, так как не пашет каталог совсем...

Unnamed
26.03.2008, 20:19
Такая проблема, пробовал на одном домене, каталог работает. Прикупил для каталога домен. Ставлю. Главная есть, а дальше 404
Переименовываю паку с каталогов под первый домен, в конфиге прописываю новый домен - работает.
Тоесть разница только в виртуал хосте и домене. Конфиги для nginx оба сделал одинаковые, только домены правильно прописал.

Vasek
26.03.2008, 21:35
Я думаю, так гадать что там у тебя тут никто не будет.
Надо бы конфиги посмотреть, замени названия доменов на domen1.com domen2.com или что-то подобное, и выложи, может кто что и подскажет. Я видел, некоторые пользуют тут nginx, хоть и молчат :)

Также вопрос, по какой схеме у тебя nginx работает - как прокси для апача или как сервер+phpFastCGI ?

И еще, у меня были такие грабли - если просто изменить конфиг при работающем nginx, а в конфиге после изменения оказалась синтаксическая ошибка, то kill -HUP pid_nginx'a перезапустит его но со старым конфигом.
А вот если остановить и запустить заново, то только тогда он ругнется на ошибку.
Также, может имеет смысл и в суппорт написать

Unnamed
26.03.2008, 21:50
server {
listen 80;
server_name BLABLA.com www.BLABLA.com;

location / {
root /data/home/unnamed/www/BLABLA;
index index.php index.html;
}

location ~ \.php$ {
# fastcgi_pass 127.0.0.1:8888;
fastcgi_pass unix:/tmp/spawn-fcgi.socket;
fastcgi_param SCRIPT_FILENAME /data/home/unnamed/www/BLABLA$fastcgi_script_name;
include /usr/local/etc/nginx/fastcgi_params;
}

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

Работает самостоятельно как FastCGI
И я стопаю и стартую сервер.
Только что все сделал с нуля, опять тоже самое.. :(

Unnamed
26.03.2008, 21:54
Тот что ты конфиг дал, вообще не пашет... :(

Unnamed
26.03.2008, 21:55
Может быть проблема что домен с "-" (дефисом)?

Vasek
26.03.2008, 22:11
а что в /usr/local/etc/nginx/fastcgi_params
?

Unnamed
27.03.2008, 10:21
fastcgi_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_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;

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;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;


Вопрос в том, что на этом конфиге на другом домене работает :(

Vasek
27.03.2008, 11:25
Может быть проблема что домен с "-" (дефисом)?
Для проверки можно настроить сервер, как-будто домен не БЛА-БЛА.com, а БЛАБЛА.com, и для БЛАБЛА.com на локальном компе в hosts прописать ip сервера.

Может и не в сервере дело, а в конфигах движка что-то не так?

По идее, если главная, открывается, а дальше 404, то значит index.php во втором случае либо не получает управление, либо неправильно вычисляет какую страницу отобразить.
кстати, а если добавить

location ~* ^/(.*)/$ {
rewrite ^/(.*)/$ /index.php;
}

?

Тот что ты конфиг дал, вообще не пашет...
Возможно из-за "fastcgi_pass 127.0.0.1:8888;" - порт для php я от балды поставил, когда его собирал, ясно что у тебя другой

Unnamed
27.03.2008, 16:33
Спасибо, добавив location ~* ^/(.*)/$ {
rewrite ^/(.*)/$ /index.php;
}
location /listen/ {
rewrite ^/listen/(.*)$ http://www.mp3fiesta.com/preview/$1;
}
location /covers/ {
rewrite ^/covers/(.*)$ http://img.mp3fiesta.com/covers/$1;
}

Все стало работать, даже коверсы...