在 Ubuntu 上使用 Nginx 1.4.6,我尝试将 Magento 2 配置为在子文件夹中运行。
我已经有一些其他项目/var/www,设置如下:
server {
server_name website.com;
root /var/www/;
location /p1/ {
# config
}
location /p2/ {
# config
}
}
Run Code Online (Sandbox Code Playgroud)
但现在,我的 Magento 安装位于/mnt/storage/demo/demo-magento2,但我找不到将其包含在此服务器块中的方法。
我尝试使用他们的 Nginx 示例配置(https://github.com/magento/magento2/wiki/Nginx-Configuration-Settings-and-Environment-Variables)。因此,我将此位置块添加到我的服务器块配置中:
location /demos/demo-magento2/ {
set $MAGE_ROOT /mnt/storage/demo-magento2/;
set $MAGE_MODE developers;
include /mnt/storage/demo-magento2/nginx.conf.sample;
}
Run Code Online (Sandbox Code Playgroud)
Nginx 不断向我返回这个错误:
2015/10/19 18:15:04 [emerg] 6250#0: location "/setup" is outside location "/demos/demo-magento2/" in /mnt/storage/demo-magento2/nginx.conf.sample:27
Run Code Online (Sandbox Code Playgroud)
我对 Nginx 很陌生,所以有人可以解释我如何弄清楚吗?
正如@Memes 指出的,我在位置块中犯了一个错误:
location /demos/demo-magento2/ {
set $MAGE_ROOT /mnt/storage/demo-magento2/;
set $MAGE_MODE developers;
include /mnt/storage/demo-magento2/nginx.conf.sample;
}
Run Code Online (Sandbox Code Playgroud)
应该:
location /demos/demo-magento2/ {
set $MAGE_ROOT /mnt/storage/demo/demo-magento2/;
set $MAGE_MODE developers;
include /mnt/storage/demo/demo-magento2/nginx.conf.sample;
}
Run Code Online (Sandbox Code Playgroud)
关键是我缺少路径中的 demo/ 子文件夹。nginx 错误实际上是不言自明的!
| 归档时间: |
|
| 查看次数: |
3363 次 |
| 最近记录: |