Skip to content

Configurando servidores web: NGINX Unit e FreeUnit ​

Execute aplicações baseadas em Yii usando o NGINX Unit com um módulo de linguagem PHP. O mesmo formato de configuração é usado pelo FreeUnit, um fork LTS do Unit mantido pela comunidade. Com as imagens Docker do FreeUnit, como ghcr.io/freeunitorg/freeunit:latest-php8.5, coloque a configuração em /var/lib/unit/config.json.

Aqui está um exemplo de configuração.

json
{
    "listeners": {
        "*:80": {
            "pass": "routes"
        }
    },

    "routes": [
        {
            "match": {
                "uri": [
                    "!/assets/*",
                    "*.php",
                    "*.php/*"
                ]
            },

            "action": {
                "pass": "applications/yii/direct"
            }
        },
        {
            "action": {
                "share": "/path/to/app/public$uri",
                "fallback": {
                    "pass": "applications/yii/index"
                }
            }
        }
    ],

    "applications": {
        "yii": {
            "type": "php",
            "targets": {
                "direct": {
                    "root": "/path/to/app/public/"
                },

                "index": {
                    "root": "/path/to/app/public/",
                    "script": "index.php"
                }
            }
        }
    }
}

Você também pode configurar o ambiente PHP ou fornecer um php.ini personalizado na mesma configuração.

Como os templates de aplicação do Yii3 usam variáveis de ambiente, você pode defini-las em applications.yii.environment. Em produção, lembre-se de definir APP_ENV como prod.

Veja logs da aplicação para a configuração de logs.