Problem using Magento with nginx
Igor Sysoev
is at rambler-co.ru
Fri Feb 6 21:52:05 MSK 2009
On Fri, Feb 06, 2009 at 07:09:02PM +0100, Stefan Scott wrote:
> Hello -
>
> I have installed nginx + PHP-FPM and it is working perfectly for my
> Drupal sites (nginx 0.6.33, PHP 5.2.6, FPM 0.5.9, Drupal 6.6, Debian
> Etch).
>
> Now I am trying to use Magento (1.2.1) with nginx, and I am getting the
> error message "No input file specified."
>
>
> I have adapted the instructions for installing Magento on Debian Etch
> here:
>
> http://www.howtoforge.com/magento-e-commerce-solution-debian-etch
>
> (omitting the steps involving Apache).
>
>
>
> I have adapted the the nginx.conf files for Magento posted here:
>
> http://www.magentocommerce.com/boards/viewthread.../viewthread/7931/#t29161
> http://www.ruby-forum.com/topic/130700
>
>
>
> My nginx.conf file looks like this:
>
> user www-data www-data;
> worker_processes 2;
>
> 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 mime.types;
> 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 65;
>
> gzip on;
> gzip_comp_level 1; gzip_proxied any;
> gzip_types text/plain
> text/html
> text/css
> application/x-javascript
> text/xml
> application/xml
> application/xml+rss
> text/javascript;
>
> ## Deny access to any host other than (www.)mydomain.com
> server {
> server_name _; #default
> return 444;
> }
>
> # ...
>
> server {
> listen 80;
> server_name .mysubdom.mydom.net;
>
> access_log /usr/local/nginx/logs/mysubdom.access.log;
> error_log /usr/local/nginx/logs/mysubdom.error.log;
>
> gzip on;
> #gzip_comp_level 9;
> gzip_min_length 1000;
> gzip_proxied any;
> gzip_types text/plain application/xml text/html text/css
> text/js application/x-javascript;
>
> #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;
> }
>
> # media
> location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|swf)$ {
> root /home/stefan/sources/magento/;
> access_log off;
> expires 30d;
> break;
> }
>
>
> # pass the PHP scripts to FastCGI socket
> location ~ \.php$ {
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_NAME $fastcgi_script_name;
> fastcgi_param SCRIPT_FILENAME
> /home/stefan/sources/magento$fastcgi_script_name;
> include /usr/local/nginx/conf/fastcgi_params;
> }
The /js/proxy.php location probably can be handled by ~ \.php$ location.
> location ^~ /js/proxy.php {
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_NAME $fastcgi_script_name;
> fastcgi_param SCRIPT_FILENAME
> /home/stefan/sources/magento$fastcgi_script_name;
> include /usr/local/nginx/conf/fastcgi_params;
> access_log off;
> expires 30d;
> }
> location / {
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_NAME index.php;
> fastcgi_param SCRIPT_FILENAME
> /home/stefan/sources/magento/index.php;
> include /usr/local/nginx/conf/fastcgi_params;
> }
> }
>
> # ...
>
> }
>
>
>
> My file /usr/local/nginx/conf/fastcgi_params looks like this:
>
> 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/$nginx_version;
>
> 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;
>
> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
You need to remove SCRIPT_FILENAME and SCRIPT_NAME parameters from
/usr/local/nginx/conf/fastcgi_params: they override the same ones
in locations.
> My Magento installation looks like this:
>
> ls -l /home/stefan/sources/magento
>
> total 112
> drwxrwxr-x 3 root root 4096 2009-02-02 19:11 404
> drwxrwxr-x 6 root root 4096 2009-02-02 19:11 app
> -rw-rw-r-- 1 root root 1579 2009-02-02 14:16 cron.php
> drwxrwxr-x 7 root root 4096 2009-02-02 19:11 downloader
> -rw-rw-r-- 1 root root 1150 2009-02-02 14:16 favicon.ico
> -rw-rw-r-- 1 root root 1892 2009-02-02 14:16 index.php
> -rw-rw-r-- 1 root root 1901 2009-02-02 14:16 index.php.sample
> -rw-rw-r-- 1 root root 6129 2009-02-02 14:16 install.php
> drwxrwxr-x 10 root root 4096 2009-02-02 19:11 js
> drwxrwxr-x 7 root root 4096 2009-02-02 19:11 lib
> -rw-rw-r-- 1 root root 10421 2009-02-02 14:16 LICENSE_AFL.txt
> -rw-rw-r-- 1 root root 10410 2009-02-02 14:16 LICENSE.txt
> drwxrwxr-x 4 root www-data 4096 2009-02-02 19:11 media
> -rwxrwxr-x 1 root root 2982 2009-02-02 14:16 pear
> -rw-rw-r-- 1 root root 751 2009-02-02 14:16 php.ini.sample
> drwxrwxr-x 2 root root 4096 2009-02-02 19:11 pkginfo
> drwxrwxr-x 3 root root 4096 2009-02-02 19:11 report
> drwxrwxr-x 5 root root 4096 2009-02-02 19:11 skin
> -rw-rw-r-- 1 root root 14597 2009-02-02 14:16 STATUS.txt
> drwxrwxr-x 2 root www-data 4096 2009-02-02 19:11 var
>
>
>
> When I point my browser at http://mysubdom.dom.net, I get the message:
>
> No input file specified.
>
>
>
> Do you have any ideas what I am doing wrong here?
>
> Thank you for any help.
>
> - Stefan Scott Alexander
> --
> Posted via http://www.ruby-forum.com/.
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list