nginx-0.4.5

Andrew Kopeyko kaa at zvuki.ru
Tue Oct 3 10:19:28 MSD 2006


On Tue, 3 Oct 2006 raduga at lan.com.ua wrote:

> Здравствуйте, All.
>
> Проблема с php!
>
> php установлен как mod-php
>
> Все на одном сервере. Апач слушает 81 порт
>
> обращаюсь к 80 порту
>
> html и другая статика отлично отображается.
> Только пытаюсь загрузить php -
> браузер предлагает сохранить файл с именем домена - тип неизвестен.
>
> обращаюсь к этому же файлу на порту 81
> предлагает сохранить данный php
>
> Помогите плиз!

Судя по симптомам, у вашего Апача проблема с определением mime-типа

Наверное, дело в том, что в конфиге вашего nginx написано что, обращаясь к 
Апачу, не нужно передавать ему заголовок 'Host: ' - и Апач отвечает своим 
дефолтным виртуальным хостом, в котором php не обрабатывается.

Ручками сходите на ваш Апач с запросом
   HEAD /my-favourite-script.php 
с добавлением заголовка
   Host: www1.com.ua
и без него - и посмотрите разницу в ответах.

> Конфиг nginx:
> --------------------
> user www1 psacln;
> worker_processes  1;
>
> #error_log  logs/error.log;
> #error_log  logs/error.log  notice;
> #error_log  logs/error.log  info;
>
> #pid        logs/nginx.pid;
>
>
> events {
>    worker_connections  1024;
> }
>
>
> http {
>    include       conf/mime.types;
>    default_type  application/x-httpd-php;
>    #default_type  application/octet-stream;
>
>
>
>    #log_format  main  '$remote_addr - $remote_user [$time_local] $request '
>    #                  '"$status" $body_bytes_sent "$http_referer" '
>    #                  '"$http_user_agent" "$http_x_forwarded_for"';
>
>    #access_log  logs/access.log  main;
>
>    sendfile        on;
>    #tcp_nopush     on;
>
>    #keepalive_timeout  0;
>    keepalive_timeout  65;
>    tcp_nodelay        on;
>
>    #gzip  on;
>
>    server {
>        listen       80;
>        server_name  localhost;
>
>        #charset koi8-r;
>
>        #access_log  logs/host.access.log  main;
>
>        location / {
>            root   /var/www/vhosts/www1/httpdocs;
>            index  index.php;
>        }
>
>        #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   html;
>        }
>
>        # proxy the PHP scripts to Apache listening on 127.0.0.1:81
>        #
>        location ~ \.php$ {
>            proxy_pass   http://www1.com.ua:81;
>        }
>
>        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
>        #
>        #location ~ \.php$ {
>        #    fastcgi_pass   127.0.0.1:9000;
>        #    fastcgi_index  index.php;
>        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
>        #    include        conf/fastcgi_params;
>        #}

Если эти строки закомментированы в конфиге - зачем их слать?
Пожалейте место на наших винтах.

> --------------------
>
> В mime.types добавлен
> application/x-httpd-php               php;
>
> Без добавления в mime тоже самое.

Поскольку nginx проксирует *.php на Апач - шаманство с его файлом 
mime.types ничего не даст.


-- 
Best regards,
Andrew Kopeyko <kaa at zvuki.ru>
http://www.zvuki.ru/ sysadmin






More information about the nginx-ru mailing list