За последние 24 часа нас посетил 17931 программист и 1581 робот. Сейчас ищут 1378 программистов ...

Nginx, php5-fpm, upstream backend - No input file specified.

Тема в разделе "Установка PHP", создана пользователем faintoo, 25 июн 2012.

  1. faintoo

    faintoo Активный пользователь

    С нами с:
    25 июн 2012
    Сообщения:
    3
    Симпатии:
    0
    Самому разобраться с ошибкой явно не выходит, тем-более что с подобной конфигурацией уже работал, так-что выкладываю все детали и надеюсь на помощь тут.

    Имеется сервер (Ubuntu 10.04 LTS Lucid Lynx (32) c рут доступом.
    В качестве веб-сервера установлен Nginx, php работает на php5-fpm (fastcgi upstream backend), без участия апача.
    Основные файлы конфигурации ниже:

    nginx.conf
    Код (Text):
    1. user                    www-data;
    2. worker_processes        8;
    3. error_log               /webcfgs/error.log;
    4. pid                     /var/run/nginx.pid;
    5. events {
    6.                         worker_connections  1024;
    7. }
    8. http {
    9.     include             /etc/nginx/mime.types;
    10.     client_max_body_size 100m;
    11.     access_log          /var/log/nginx/access.log;
    12.     sendfile            on;
    13.     keepalive_timeout   65;
    14.     tcp_nodelay         on;
    15.     gzip                on;
    16.     gzip_min_length     1000;
    17.     gzip_proxied        any;
    18.     gzip_types          text/plain ext/html text/xml application/xml application/x-javascript text/javascript text/css text/json;
    19.     gzip_disable        "msie6";
    20.     gzip_comp_level     8;
    21.     charset             utf-8;
    22.     include             /etc/nginx/conf.d/*.conf;
    23.     include             /etc/nginx/sites-enabled/*;
    24. }
    Виртуальный хост
    Код (Text):
    1. upstream backend-fntrsh {server unix:/var/run/php5-fntrsh.sock;}
    2. server {
    3. listen faintrush.eu;
    4. server_name faintrush.eu www.faintrush.eu;
    5. root /web/fntrsh/public;
    6. access_log /web/fntrsh/log/access.log;
    7. error_log /web/fntrsh/log/error.log;
    8. rewrite_log on;
    9.  
    10. location = / {
    11. index index.php index.html;
    12. }
    13.  
    14. location ~ \.php$ {
    15. include fastcgi_params;
    16. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    17. fastcgi_pass backend-fntrsh;
    18. fastcgi_intercept_errors on;
    19. }
    20. location ~ /\.ht {
    21. deny all;
    22. }
    23. }
    24.  
    25. server {
    26. listen faintrush.eu;
    27. server_name ~^(.*)\.faintrush.eu;
    28. root /web/fntrsh/sub/$1;
    29. access_log /web/fntrsh/log/access.log;
    30. error_log /web/fntrsh/log/error.log;
    31. location / {
    32. index index.php index.html;
    33. }
    34.  
    35. location ~ \.php$ {
    36. include fastcgi_params;
    37. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    38. fastcgi_pass backend-fntrsh;
    39. fastcgi_intercept_errors on;
    40. }
    41.  
    42. }
    fastcgi_params
    Код (Text):
    1. fastcgi_param   QUERY_STRING        $query_string;
    2. fastcgi_param   REQUEST_METHOD      $request_method;
    3. fastcgi_param   CONTENT_TYPE        $content_type;
    4. fastcgi_param   CONTENT_LENGTH      $content_length;
    5.  
    6. fastcgi_param   SCRIPT_FILENAME     $request_filename;
    7. fastcgi_param   SCRIPT_NAME     $fastcgi_script_name;
    8. fastcgi_param   REQUEST_URI     $request_uri;
    9. fastcgi_param   DOCUMENT_URI        $document_uri;
    10. fastcgi_param   DOCUMENT_ROOT       $document_root;
    11. fastcgi_param   SERVER_PROTOCOL     $server_protocol;
    12.  
    13. fastcgi_param   GATEWAY_INTERFACE   CGI/1.1;
    14. fastcgi_param   SERVER_SOFTWARE     nginx/$nginx_version;
    15.  
    16. fastcgi_param   REMOTE_ADDR     $remote_addr;
    17. fastcgi_param   REMOTE_PORT     $remote_port;
    18. fastcgi_param   SERVER_ADDR     $server_addr;
    19. fastcgi_param   SERVER_PORT     $server_port;
    20. fastcgi_param   SERVER_NAME     $server_name;
    21.  
    22. #fastcgi_param  HTTPS           $https;
    23.  
    24. # PHP only, required if PHP was built with --enable-force-cgi-redirect
    25. fastcgi_param   REDIRECT_STATUS     200;
    php5-fpm процесс:
    Код (Text):
    1. [fntrsh]
    2. listen = /var/run/php5-fntrsh.sock
    3. listen.mode = 0666
    4. user = fntrsh
    5. group = fntrsh
    6. chdir = /web/fntrsh
    7. php_admin_value[upload_tmp_dir] = /web/fntrsh/temp
    8. php_admin_value[date.timezone] = Europe/Moscow
    9. pm = dynamic
    10. pm.max_children = 10
    11. pm.start_servers = 2
    12. pm.min_spare_servers = 2
    13. pm.max_spare_servers = 4
    php.ini
    Код (Text):
    1. [PHP]engine = On
    2. short_open_tag = On
    3. asp_tags = Off
    4. precision = 14
    5. y2k_compliance = On
    6. output_buffering = 4096
    7. zlib.output_compression = Off
    8. implicit_flush = Off
    9. unserialize_callback_func =
    10. serialize_precision = 100
    11. allow_call_time_pass_reference = Off
    12. safe_mode = Off
    13. safe_mode_gid = Off
    14. safe_mode_include_dir =
    15. safe_mode_exec_dir =
    16. safe_mode_allowed_env_vars = PHP_
    17. safe_mode_protected_env_vars = LD_LIBRARY_PATH
    18. open_basedir = /web
    19. disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source
    20. disable_classes =
    21. expose_php = On
    22. max_execution_time = 30
    23. max_input_time = 60
    24. memory_limit = 128M
    25. error_reporting = E_ALL & ~E_DEPRECATED
    26. display_errors = Off
    27. display_startup_errors = Off
    28. log_errors = On
    29. log_errors_max_len = 1024
    30. ignore_repeated_errors = Off
    31. ignore_repeated_source = Off
    32. report_memleaks = On
    33. track_errors = Off
    34. html_errors = Off
    35. variables_order = "GPCS"
    36. request_order = "GP"
    37. register_globals = Off
    38. register_long_arrays = Off
    39. register_argc_argv = Off
    40. auto_globals_jit = On
    41. post_max_size = 100M
    42. magic_quotes_gpc = Off
    43. magic_quotes_runtime = Off
    44. magic_quotes_sybase = Off
    45. auto_prepend_file =
    46. auto_append_file =
    47. default_mimetype = "text/html"
    48. doc_root =
    49. user_dir =
    50. enable_dl = Off
    51. cgi.fix_pathinfo = 0
    52. file_uploads = On
    53. upload_max_filesize = 100M
    54. max_file_uploads = 20/allow-url-fopen
    55. allow_url_fopen = On
    56. allow_url_include = Off
    57. default_socket_timeout = 60
    58.  
    59. [Date]
    60.  
    61. [filter]
    62.  
    63. [iconv]
    64.  
    65. [intl]
    66.  
    67. [sqlite]
    68.  
    69. [sqlite3]
    70.  
    71. [Pcre]
    72.  
    73. [Pdo]
    74.  
    75. [Pdo_mysql]
    76.  
    77. pdo_mysql.cache_size = 2000
    78. pdo_mysql.default_socket=
    79.  
    80. [Phar]
    81.  
    82. [Syslog]
    83.  
    84. define_syslog_variables  = Off
    85.  
    86. [mail function]
    87.  
    88. SMTP = localhost
    89. smtp_port = 25
    90.  
    91. [SQL]
    92.  
    93. sql.safe_mode = Off
    94.  
    95. [ODBC]
    96.  
    97. odbc.allow_persistent = On
    98.  
    99. odbc.check_persistent = On
    100.  
    101. odbc.max_persistent = -1
    102.  
    103. odbc.max_links = -1
    104.  
    105. odbc.defaultlrl = 4096
    106.  
    107. odbc.defaultbinmode = 1
    108.  
    109. [Interbase]
    110.  
    111. ibase.allow_persistent = 1
    112.  
    113. ibase.max_persistent = -1
    114.  
    115. ibase.max_links = -1
    116.  
    117. ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
    118.  
    119. ibase.dateformat = "%Y-%m-%d"
    120.  
    121. ibase.timeformat = "%H:%M:%S"
    122.  
    123. [MySQL]
    124.  
    125. mysql.allow_local_infile = On
    126.  
    127. mysql.allow_persistent = On
    128.  
    129. mysql.cache_size = 2000
    130.  
    131. mysql.max_persistent = -1
    132.  
    133. mysql.max_links = -1
    134.  
    135. mysql.default_port =
    136.  
    137. mysql.default_socket =
    138.  
    139. mysql.default_host =
    140.  
    141. mysql.default_user =
    142.  
    143. mysql.default_password =
    144.  
    145. mysql.connect_timeout = 60
    146.  
    147. mysql.trace_mode = Off
    148.  
    149. [MySQLi]
    150.  
    151. mysqli.max_persistent = -1
    152.  
    153. mysqli.allow_persistent = On
    154.  
    155. mysqli.max_links = -1
    156.  
    157. mysqli.cache_size = 2000
    158.  
    159. mysqli.default_port = 3306
    160.  
    161. mysqli.default_socket =
    162.  
    163. mysqli.default_host =
    164.  
    165. mysqli.default_user =
    166.  
    167. mysqli.default_pw =
    168.  
    169. mysqli.reconnect = Off
    170.  
    171. [mysqlnd]
    172.  
    173. mysqlnd.collect_statistics = On
    174.  
    175. mysqlnd.collect_memory_statistics = Off
    176.  
    177. [OCI8]
    178.  
    179. [PostgresSQL]
    180.  
    181. pgsql.allow_persistent = On
    182.  
    183. pgsql.auto_reset_persistent = Off
    184.  
    185. pgsql.max_persistent = -1
    186.  
    187. pgsql.max_links = -1
    188.  
    189. pgsql.ignore_notice = 0
    190.  
    191. pgsql.log_notice = 0
    192.  
    193. [Sybase-CT]
    194.  
    195. sybct.allow_persistent = On
    196.  
    197. sybct.max_persistent = -1
    198.  
    199. sybct.max_links = -1
    200.  
    201. sybct.min_server_severity = 10
    202.  
    203. sybct.min_client_severity = 10
    204.  
    205.  
    206. [bcmath]
    207.  
    208. bcmath.scale = 0
    209.  
    210. [browscap]
    211.  
    212. [Session]
    213.  
    214. session.save_handler = files
    215.  
    216. session.use_cookies = 1
    217.  
    218. session.use_only_cookies = 1
    219.  
    220. session.name = PHPSESSID
    221.  
    222. session.auto_start = 0
    223.  
    224. session.cookie_lifetime = 0
    225.  
    226. session.cookie_path = /
    227.  
    228. session.cookie_domain =
    229.  
    230. session.cookie_httponly =
    231.  
    232. session.serialize_handler = php
    233.  
    234. session.gc_probability = 1
    235.  
    236. session.gc_divisor = 1000
    237.  
    238. session.gc_maxlifetime = 1440
    239.  
    240. session.bug_compat_42 = Off
    241.  
    242. session.bug_compat_warn = Off
    243.  
    244. session.referer_check =
    245.  
    246. session.entropy_length = 0
    247.  
    248. session.cache_limiter = nocache
    249.  
    250. session.cache_expire = 180
    251.  
    252. session.use_trans_sid = 0
    253.  
    254. session.hash_function = 0
    255.  
    256. session.hash_bits_per_character = 5
    257.  
    258. url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
    259.  
    260. [MSSQL]
    261. mssql.allow_persistent = On
    262.  
    263. mssql.max_persistent = -1
    264.  
    265. mssql.max_links = -1
    266.  
    267. mssql.min_error_severity = 10
    268.  
    269. mssql.min_message_severity = 10
    270.  
    271. mssql.compatability_mode = Off
    272.  
    273.  
    274. [Assertion]
    275.  
    276. [COM]
    277.  
    278. [mbstring]
    279.  
    280. [gd]
    281.  
    282. [exif]
    283.  
    284. [Tidy]
    285.  
    286. tidy.clean_output = Off
    287.  
    288. [soap]
    289.  
    290. soap.wsdl_cache_enabled=1
    291.  
    292. soap.wsdl_cache_dir="/tmp"
    293.  
    294. soap.wsdl_cache_ttl=86400
    295.  
    296. soap.wsdl_cache_limit = 5
    297.  
    298. [sysvshm]
    299.  
    300. [ldap]
    301.  
    302. ldap.max_links = -1
    303.  
    304. [mcrypt]
    305.  
    306. [dba]
    Пути в конфигах рабочие, статик html обрабатывается нормально, простейшая php страничка с кодом
    Код (Text):
    1. <?php
    2.  
    3. phpinfo();
    4.  
    5. ?>
    выдает No input file specified.
    Лог ошибок (error_log в nginx) на этот счет пустует.
    Нашел где-то что если туда-же вставить fastcgi_intercept_errors on; то php сам будет выдавать причину ошибки, но что-то я не понял куда-оно выводится.

    В чем может быть проблема?
    За помощь спасибо заранее.
     
  2. faintoo

    faintoo Активный пользователь

    С нами с:
    25 июн 2012
    Сообщения:
    3
    Симпатии:
    0
    Re: Nginx, php5-fpm, upstream backend - No input file specif

    Ап

    Чуть-под разобрался, оказывается пхп работает на основном домене, а не пашет он на поддоменах, а значит что проблема в моем самодельном конфиге автоподдоменов.


    Вот он горе-конфиг
    Сверху то что работает а жирным то что надо править.
    Есть идеи как? =)