如何在Nginx/OpenServer上部署Yii2高级应用程序?

如何在Nginx/OpenServer上部署Yii2高级应用程序?,nginx,yii2,Nginx,Yii2,我需要在本地机器上运行Yii2高级模板的项目。 问题是我试图打开主页(project.loc/)时出现逻辑异常错误 在project.loc/staff页面上找不到404 申请结构: project.loc/ common console environments files frontend staff vendor OpenServer有一个Nginx基本配置(我把它放在域的根目录中)。我只更改了location/和location/staff行 #------

我需要在本地机器上运行Yii2高级模板的项目。 问题是我试图打开主页(project.loc/)时出现逻辑异常错误

project.loc/staff
页面上找不到
404

申请结构:

project.loc/
  common
  console
  environments
  files
  frontend
  staff
  vendor
OpenServer有一个Nginx基本配置(我把它放在域的根目录中)。我只更改了
location/
location/staff

#-----------------------------------------------#
# Начало блока конфигурации хоста
#-----------------------------------------------#

server {
    listen         %ip%:%httpport%;
    listen         %ip%:%httpsport% ssl;
    server_name    %host% %aliases%;

    ssl_certificate               "%sprogdir%/userdata/config/cert_files/server.crt";
    ssl_certificate_key           "%sprogdir%/userdata/config/cert_files/server.key";

    #add_header Strict-Transport-Security "max-age=94608000";

    # if ($request_method !~* ^(GET|HEAD|POST)$ ){return 403;}
    location ~ /\. {deny all;}

    location / {
        root       "%hostdir%/frontend/web";
        try_files  $uri /frontend/web/index.php?$args;
        index      index.php index.html index.htm;
    }

    location /staff {
        alias  "%hostdir%/staff/web";
        rewrite  ^(/staff)/$ $1 permanent;
        try_files  $uri /staff/web/index.php?$args;
    }

    location ~ \.php$ {
        root                               "%hostdir%";
        try_files                          $uri =404;
        # if (!-e $document_root$document_uri){return 404;}
        fastcgi_pass                       backend;
        fastcgi_index                      index.php;
        fastcgi_buffers                    4 64k;
        fastcgi_connect_timeout            1s;
        fastcgi_ignore_client_abort        off;
        fastcgi_next_upstream              timeout;
        fastcgi_read_timeout               5m;
        fastcgi_send_timeout               5m;
        fastcgi_param    CONTENT_TYPE      $content_type;
        fastcgi_param    CONTENT_LENGTH    $content_length;
        fastcgi_param    DOCUMENT_URI      $document_uri;
        fastcgi_param    DOCUMENT_ROOT     $document_root;
        fastcgi_param    GATEWAY_INTERFACE CGI/1.1;
        fastcgi_param    HTTPS             $https;
        fastcgi_param    QUERY_STRING      $query_string;
        fastcgi_param    REQUEST_METHOD    $request_method;
        fastcgi_param    REQUEST_URI       $request_uri;
        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       $host;
        fastcgi_param    SERVER_PROTOCOL   $server_protocol;
        fastcgi_param    SERVER_SOFTWARE   nginx;
        fastcgi_param    SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        fastcgi_param    SCRIPT_NAME       $fastcgi_script_name;
        fastcgi_param    TMP               "%sprogdir%/userdata/temp";
        fastcgi_param    TMPDIR            "%sprogdir%/userdata/temp";
        fastcgi_param    TEMP              "%sprogdir%/userdata/temp";
    }

    # Подключение веб-инструментов
    #---------------------------------------#
    # <Не изменяйте этот блок конфигурации>
    location /openserver/ {
        root     "%sprogdir%/modules/system/html";
        index    index.php;
        %allow%allow    all;
        allow    127.0.0.0/8;
        allow    ::1/128;
        allow    %ips%;
        deny     all;
        location /openserver/server-status {
            stub_status on;
        }
        location ~ ^/openserver/.*\.php$ {
            root                               "%sprogdir%/modules/system/html";
            fastcgi_pass                       backend;
            fastcgi_index                      index.php;
            fastcgi_buffers                    4 64k;
            fastcgi_connect_timeout            1s;
            fastcgi_ignore_client_abort        off;
            fastcgi_next_upstream              timeout;
            fastcgi_read_timeout               5m;
            fastcgi_send_timeout               5m;
            fastcgi_param    CONTENT_TYPE      $content_type;
            fastcgi_param    CONTENT_LENGTH    $content_length;
            fastcgi_param    DOCUMENT_URI      $document_uri;
            fastcgi_param    DOCUMENT_ROOT     $document_root;
            fastcgi_param    GATEWAY_INTERFACE CGI/1.1;
            fastcgi_param    HTTPS             $https;
            fastcgi_param    QUERY_STRING      $query_string;
            fastcgi_param    REQUEST_METHOD    $request_method;
            fastcgi_param    REQUEST_URI       $request_uri;
            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       $host;
            fastcgi_param    SERVER_PROTOCOL   $server_protocol;
            fastcgi_param    SERVER_SOFTWARE   nginx;
            fastcgi_param    SCRIPT_FILENAME   $document_root$fastcgi_script_name;
            fastcgi_param    SCRIPT_NAME       $fastcgi_script_name;
            fastcgi_param    TMP               "%sprogdir%/userdata/temp";
            fastcgi_param    TMPDIR            "%sprogdir%/userdata/temp";
            fastcgi_param    TEMP              "%sprogdir%/userdata/temp";
        }
    }
    # <Не изменяйте этот блок конфигурации/>
    #---------------------------------------#
}

#-----------------------------------------------#
# Конец блока конфигурации хоста
#-----------------------------------------------#
#-----------------------------------------------#
# Начало блока конфигурации хоста
#-----------------------------------------------#
服务器{
侦听%ip%:%httpport%;
侦听%ip%:%httpsport%ssl;
服务器名称%host%%别名%;
ssl\u证书“%sprogdir%/userdata/config/cert\u files/server.crt”;
ssl证书密钥“%sprogdir%/userdata/config/cert\u files/server.key”;
#添加_标题严格的传输安全性“最大年龄=94608000”;
#if($request_method!~*^(GET | HEAD | POST)$){return 403;}
位置~/\.{deny all;}
地点/{
根“%hostdir%/frontend/web”;
try_文件$uri/frontend/web/index.php?$args;
index.php index.html index.htm;
}
地点/职员{
别名“%hostdir%/staff/web”;
重写^(/staff)/$$1永久性;
try_文件$uri/staff/web/index.php?$args;
}
位置~\.php${
根“%hostdir%”;
try_files$uri=404;
#if(!-e$document\u root$document\u uri){return 404;}
fastcgi_pass后端;
fastcgi_index.php;
fastcgi_缓冲器4 64k;
fastcgi\u连接\u超时1s;
fastcgi\u忽略\u客户端\u中止关闭;
fastcgi\u下一个\u上游超时;
fastcgi_读取超时;
fastcgi_发送_超时5m;
fastcgi_参数内容类型$CONTENT_类型;
fastcgi_参数CONTENT_LENGTH$CONTENT_LENGTH;
fastcgi_param DOCUMENT_URI$DOCUMENT_URI;
fastcgi_参数DOCUMENT_ROOT$DOCUMENT_ROOT;
fastcgi_参数网关_接口CGI/1.1;
fastcgi_参数HTTPS$HTTPS;
fastcgi_参数查询字符串$QUERY_字符串;
fastcgi_参数请求_方法$REQUEST_方法;
fastcgi_param REQUEST_URI$REQUEST_URI;
fastcgi参数远程地址$REMOTE地址;
fastcgi_参数远程_端口$远程_端口;
fastcgi_参数服务器地址$服务器地址;
fastcgi_参数服务器_端口$SERVER_端口;
fastcgi_参数服务器名称$host;
fastcgi_参数服务器协议$服务器协议;
fastcgi_参数服务器软件nginx;
fastcgi\参数脚本\文件名$document\根$fastcgi\脚本\名称;
fastcgi_参数SCRIPT_NAME$fastcgi_SCRIPT_NAME;
fastcgi_参数TMP“%sprogdir%/userdata/temp”;
fastcgi_参数TMPDIR“%sprogdir%/userdata/temp”;
fastcgi_参数临时“%sprogdir%/userdata/TEMP”;
}
# Подключение веб-инструментов
#---------------------------------------#
# 
位置/开放服务器/{
根“%sprogdir%/modules/system/html”;
index.php;
%允许%允许所有;
允许127.0.0.0/8;
允许:1/128;
允许%ips%;
否认一切;
位置/打开服务器/服务器状态{
stub_状态为on;
}
位置~^/openserver/*\.php${
根“%sprogdir%/modules/system/html”;
fastcgi_pass后端;
fastcgi_index.php;
fastcgi_缓冲器4 64k;
fastcgi\u连接\u超时1s;
fastcgi\u忽略\u客户端\u中止关闭;
fastcgi\u下一个\u上游超时;
fastcgi_读取超时;
fastcgi_发送_超时5m;
fastcgi_参数内容类型$CONTENT_类型;
fastcgi_参数CONTENT_LENGTH$CONTENT_LENGTH;
fastcgi_param DOCUMENT_URI$DOCUMENT_URI;
fastcgi_参数DOCUMENT_ROOT$DOCUMENT_ROOT;
fastcgi_参数网关_接口CGI/1.1;
fastcgi_参数HTTPS$HTTPS;
fastcgi_参数查询字符串$QUERY_字符串;
fastcgi_参数请求_方法$REQUEST_方法;
fastcgi_param REQUEST_URI$REQUEST_URI;
fastcgi参数远程地址$REMOTE地址;
fastcgi_参数远程_端口$远程_端口;
fastcgi_参数服务器地址$服务器地址;
fastcgi_参数服务器_端口$SERVER_端口;
fastcgi_参数服务器名称$host;
fastcgi_参数服务器协议$服务器协议;
fastcgi_参数服务器软件nginx;
fastcgi\参数脚本\文件名$document\根$fastcgi\脚本\名称;
fastcgi_参数SCRIPT_NAME$fastcgi_SCRIPT_NAME;
fastcgi_参数TMP“%sprogdir%/userdata/temp”;
fastcgi_参数TMPDIR“%sprogdir%/userdata/temp”;
fastcgi_参数临时“%sprogdir%/userdata/TEMP”;
}
}
# 
#---------------------------------------#
}
#-----------------------------------------------#
# Конец блока конфигурации хоста
#-----------------------------------------------#
#-----------------------------------------------#
# Начало блока конфигурации хоста
#-----------------------------------------------#

server {
    listen         %ip%:%httpport%;
    listen         %ip%:%httpsport% ssl;
    server_name    %host% %aliases%;

    ssl_certificate               "%sprogdir%/userdata/config/cert_files/server.crt";
    ssl_certificate_key           "%sprogdir%/userdata/config/cert_files/server.key";

    #add_header Strict-Transport-Security "max-age=94608000";

    # if ($request_method !~* ^(GET|HEAD|POST)$ ){return 403;}
    location ~ /\. {deny all;}

    location / {
        root       "%hostdir%/frontend/web";
        try_files  $uri /frontend/web/index.php?$args;
        index      index.php index.html index.htm;
    }

    location /staff {
        alias  "%hostdir%/staff/web";
        rewrite  ^(/staff)/$ $1 permanent;
        try_files  $uri /staff/web/index.php?$args;
    }

    location ~ \.php$ {
        root                               "%hostdir%";
        try_files                          $uri =404;
        # if (!-e $document_root$document_uri){return 404;}
        fastcgi_pass                       backend;
        fastcgi_index                      index.php;
        fastcgi_buffers                    4 64k;
        fastcgi_connect_timeout            1s;
        fastcgi_ignore_client_abort        off;
        fastcgi_next_upstream              timeout;
        fastcgi_read_timeout               5m;
        fastcgi_send_timeout               5m;
        fastcgi_param    CONTENT_TYPE      $content_type;
        fastcgi_param    CONTENT_LENGTH    $content_length;
        fastcgi_param    DOCUMENT_URI      $document_uri;
        fastcgi_param    DOCUMENT_ROOT     $document_root;
        fastcgi_param    GATEWAY_INTERFACE CGI/1.1;
        fastcgi_param    HTTPS             $https;
        fastcgi_param    QUERY_STRING      $query_string;
        fastcgi_param    REQUEST_METHOD    $request_method;
        fastcgi_param    REQUEST_URI       $request_uri;
        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       $host;
        fastcgi_param    SERVER_PROTOCOL   $server_protocol;
        fastcgi_param    SERVER_SOFTWARE   nginx;
        fastcgi_param    SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        fastcgi_param    SCRIPT_NAME       $fastcgi_script_name;
        fastcgi_param    TMP               "%sprogdir%/userdata/temp";
        fastcgi_param    TMPDIR            "%sprogdir%/userdata/temp";
        fastcgi_param    TEMP              "%sprogdir%/userdata/temp";
    }

    # Подключение веб-инструментов
    #---------------------------------------#
    # <Не изменяйте этот блок конфигурации>
    location /openserver/ {
        root     "%sprogdir%/modules/system/html";
        index    index.php;
        %allow%allow    all;
        allow    127.0.0.0/8;
        allow    ::1/128;
        allow    %ips%;
        deny     all;
        location /openserver/server-status {
            stub_status on;
        }
        location ~ ^/openserver/.*\.php$ {
            root                               "%sprogdir%/modules/system/html";
            fastcgi_pass                       backend;
            fastcgi_index                      index.php;
            fastcgi_buffers                    4 64k;
            fastcgi_connect_timeout            1s;
            fastcgi_ignore_client_abort        off;
            fastcgi_next_upstream              timeout;
            fastcgi_read_timeout               5m;
            fastcgi_send_timeout               5m;
            fastcgi_param    CONTENT_TYPE      $content_type;
            fastcgi_param    CONTENT_LENGTH    $content_length;
            fastcgi_param    DOCUMENT_URI      $document_uri;
            fastcgi_param    DOCUMENT_ROOT     $document_root;
            fastcgi_param    GATEWAY_INTERFACE CGI/1.1;
            fastcgi_param    HTTPS             $https;
            fastcgi_param    QUERY_STRING      $query_string;
            fastcgi_param    REQUEST_METHOD    $request_method;
            fastcgi_param    REQUEST_URI       $request_uri;
            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       $host;
            fastcgi_param    SERVER_PROTOCOL   $server_protocol;
            fastcgi_param    SERVER_SOFTWARE   nginx;
            fastcgi_param    SCRIPT_FILENAME   $document_root$fastcgi_script_name;
            fastcgi_param    SCRIPT_NAME       $fastcgi_script_name;
            fastcgi_param    TMP               "%sprogdir%/userdata/temp";
            fastcgi_param    TMPDIR            "%sprogdir%/userdata/temp";
            fastcgi_param    TEMP              "%sprogdir%/userdata/temp";
        }
    }
    # <Не изменяйте этот блок конфигурации/>
    #---------------------------------------#
}

#-----------------------------------------------#
# Конец блока конфигурации хоста
#-----------------------------------------------#