麻烦在Magento的ec2实例上配置nginx

时间:2015-06-19 12:03:11

标签: magento amazon-web-services nginx amazon-ec2

我正在尝试在运行NGINX&的Amazon EC2服务器上安装Magento 1.9。 HHVM。我有HHVM&运行NGINX,当我将EC2 Serers的IP放入URL时,我显示NGINX欢迎屏幕,但是当我输入我的Magento应用程序的URL(即http://54.???.??.???/dev-magento)时,我收到404错误。

我把Magento放在 / var / www / dev-magento 而不是 / usr / share / nginx / html / 中。我打算建立一个 staging-magento 网站,这就是为什么我不只是将Magento放入 / usr / share / nginx / html /

我已使用

设置 / etc / www / 目录
sudo chown www-data:www-data * -R
sudo usermod -a -G www-data ubuntu

我还在 /etc/nginx/sites-available.dev-magento 中为dev-magento网站创建了一个nginx配置文件

server {
    # Listen on port 80 as well as post 443 for SSL connections.
    listen 80;
    #listen 443 default ssl;

    server_name 54.???.??.???/dev-magento;

    # Specify path to your SSL certificates.
   #ssl_certificate /etc/nginx/certificates/yourcertificate.crt;
    #ssl_certificate_key /etc/nginx/certificates/yourcertificate.key;

    # Path to the files in which you wish to
    # store your access and error logs.
    #access_log /path/to/your/logs/access_log;
    #error_log /path/to/your/logs/error_log;

    # If the site is accessed via mydomain.com
    # automatically redirect to www.magento.localhost.com.
    #if ($host = 'dev-magento' ) {
        #rewrite ^/(.*)$ http://www.dev-magento/$1permanent;
   #}

    root /var/www/dev-magento/;

    location / {
        index index.html index.php;
        try_files $uri $uri/ @handler;
    }

    # Deny access to specific directories no one
    # in particular needs access to anyways.
    location /app/ { deny all; }
    location /includes/ { deny all; }
    location /lib/ { deny all; }
    location /media/downloadable/ { deny all; }
    location /pkginfo/ { deny all; }
    location /report/config.xml { deny all; }
    location /var/ { deny all; }

    # Allow only those who have a login name and password
    # to view the export folder. Refer to /etc/nginx/htpassword.
    #location /var/export/ {
    #    auth_basic "Restricted";
    #    auth_basic_user_file htpasswd;
    #    autoindex on;
    #}

    # Deny all attempts to access hidden files
    # such as .htaccess, .htpasswd, etc...
    location ~ /\. {
         deny all;
         access_log off;
         log_not_found off;
    }

    # This redirect is added so to use Magentos
    # common front handler when handling incoming URLs.
    location @handler {
        rewrite / /index.php;
    }

    # Forward paths such as /js/index.php/x.js
    # to their relevant handler.
    location ~ .php/ {
        rewrite ^(.*.php)/ $1 last;
    }

    # Handle the exectution of .php files.
    location ~ .php$ {
        if (!-e $request_filename) {
            rewrite / /index.php last;
        }
        expires off;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        #fastcgi_param HTTPS $fastcgi_https;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param MAGE_RUN_CODE default;
        fastcgi_param MAGE_RUN_TYPE store;
        include fastcgi_params;
    }
}

之后我跑了:

sudo ln -s /etc/nginx/sites-available/dev-magento /etc/nginx/sites-enabled/
sudo service nginx restart
sudo service hhvm restart

但是当我去54时,我仍然得到一个404页。???。??。??? / dev-magento。

我认为我必须遗漏一些非常愚蠢的东西,因为我对AWS& NGINX配置。

1 个答案:

答案 0 :(得分:0)

我能够通过将我的nginx配置文件中的服务器名称更改为server_name dev-magento;然后将54.???.??.??? dev-magento添加到本地计算机 / etc / hosts 文件来解决此问题