微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Nginx上的Magento – 配置

我正在使用Nginx.conf来运行Magento,该网站主要使用,magento使用PHP-fpm运行.

但它的某些部分仍然无法正常工作,我已经尝试了网络上的每个维基,博客等.

我的问题是,我在CMS页面和块上有一个Javascript弹出窗口,主要是tiny_mce WYSIWYG编辑器(/js/tiny_mce/plugins/advimage/image.htm等),它们打开了一个找不到的页面.

我不知道该怎么做才能正确显示这个编辑器.

此外,下载器不显示.

似乎每个都使用自己的index.PHP一个不同于root的文件夹中,所以我应该将索引更改为?

比如$document_root / downloader / index.PHP

解决方法:

我强烈建议你阅读并遵循nginx primer by Martin Fjordvald.

我对Magento使用以下配置.它不仅效果很好,还关闭了图像的access_log等,并具有特殊的PHP-fpm配置.请注意,服务器根目录在服务器块中指定.多个配置文件在位置块中错误地指定了它.

Magento Nginx配置文件
(请务必相应地替换所有路径和域名)

server {
    listen 80;
    #listen 443 default ssl;
    server_name DOMAIN.COM;
    #rewrite requests to www
    rewrite ^ $scheme://www.DOMAIN.COM$request_uri permanent;
}

server {
    listen 80;
    #listen 443 default ssl;
    #ssl_certificate /path/to/ssl.crt;
    #ssl_certificate_key /path/to/ssl.key;

    server_name www.DOMAIN.COM;
    # most likely /var/www/...
    root /path/to/files;

    include /etc/Nginx/restrictions.conf;

    location / {
        index index.PHP;
        if ($request_uri ~* "\.(ico|css|js|gif|jpe?g|png)$") {
            access_log off;
            expires max;
        }
        try_files $uri $uri/ @handler;
    }

    # protect directories
    location /app/ {
        deny all;
    }
    location /includes/ {
        deny all;
    }
    location /lib/ {
        deny all;
    }
    location /lib/minify/ {
        allow all;
    }
    location /media/downloadable/ {
        deny all;
    }
    location /pkginfo/ {
        deny all;
    }
    location /report/config.xml {
        deny all;
    }
    location /var/ {
        deny all;
    }

    location /var/export/ {
        # restrict access to admins
        auth_basic "Restricted";
        auth_basic_user_file htpasswd;
        autoindex on;
    }

    location @handler {
        rewrite ^(.*) /index.PHP?$1 last;
    }

    # include PHP specific configuration
    include /etc/Nginx/PHP.conf;
}

这是一个PHP-fpm特定的配置文件,它拦截错误代码并正确分割路径信息,因此您可以访问PHP中的正确路径部分.由于性能的提高,我还使用Unix套接字而不是端口.另请注意,您无需重复fastcgi_params中已指定的fastcgi_params.

fastcgi_intercept_errors on;

# this will allow Nginx to intercept 4xx/5xx error codes
# Nginx will only intercept if there are error page rules defined
# -- This is better placed in the http {} block as a default
# -- in that virtual host's server block

location ~ \.PHP${
    fastcgi_split_path_info ^(.+\.PHP)(/.+)$;
    # A handy function that became available in 0.7.31 that breaks down 
    # The path @R_996_4045@ion based on the provided regex expression
    # This is handy for requests such as file.PHP/some/paths/here/ 

    include fastcgi_params;

    fastcgi_index index.PHP;
    fastcgi_pass unix:/var/run/PHPfpm.sock;
}

我的fastcgi_params配置文件针对小型服务器(<1GB RAM)进行了优化.请务必根据服务器的性能调整您的:

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_FILENAME        $document_root$fastcgi_script_name;
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_connect_timeout 90;
fastcgi_send_timeout 180;
fastcgi_read_timeout 360;
fastcgi_buffer_size 1024k;
fastcgi_buffers 8 512k;
fastcgi_busy_buffers_size 1024k;
fastcgi_temp_file_write_size 1024k;
fastcgi_intercept_errors on;
fastcgi_pass_header *;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐