# Documentação Técnica

# Habilitar Websocket - SIC

Para habilitar o Websocket no ambiente você precisa acessar os nós de LiteSpeed e habilitar o websocket. Primeiro passo é logar no litespeed com usuário e senha, caso não tenha, pode clicar em recuperar senha na SIC:

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2024-12/scaled-1680-/image.png)](https://wiki.edustore.online/uploads/images/gallery/2024-12/image.png)

Ao pedir para resetar a senha, você irá receber os e-mails com acessos e urls. Ao logar no painel do LiteSpeed, clique em Configuration -&gt; Virtual Hosts

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2024-12/scaled-1680-/ODtimage.png)](https://wiki.edustore.online/uploads/images/gallery/2024-12/ODtimage.png)

Clique em View/Edit da opção Jelastic:

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2024-12/scaled-1680-/qdOimage.png)](https://wiki.edustore.online/uploads/images/gallery/2024-12/qdOimage.png)

Clique na aba General e depois vá na seção WebSocket e clique em Add:

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2024-12/scaled-1680-/Dbrimage.png)](https://wiki.edustore.online/uploads/images/gallery/2024-12/Dbrimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2024-12/scaled-1680-/qKKimage.png)](https://wiki.edustore.online/uploads/images/gallery/2024-12/qKKimage.png)

Após isso basta preencher os campos com os dados conforme o print, clicar em Save e após isso, no topo da página vai aparecer um link para fazer um Graceful Restart, clique nele e ele irá reiniciar o LiteSpeed e seu websocket estará funcionando.

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2024-12/scaled-1680-/Ac5image.png)](https://wiki.edustore.online/uploads/images/gallery/2024-12/Ac5image.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2024-12/scaled-1680-/exKimage.png)](https://wiki.edustore.online/uploads/images/gallery/2024-12/exKimage.png)  
  
**Comandos práticos para testar e verificar o WebSocket:**

- **Restart do crond:** service crond restart
- **Personalizar a ordenação dos processos exibidos**: htop + f6 (Por exemplo, você pode ordenar por uso de CPU, uso de memória, ID do processo (PID), tempo de execução, etc.)

Se o cliente está na cloudflare, verifique o se o SSL/TLS está configurado como flexible:

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-04/scaled-1680-/image.png)](https://wiki.edustore.online/uploads/images/gallery/2025-04/image.png)

# Criação de Storage

# Criando o Ambiente Storage

No painel da Save In Cloud do cliente, clique em New Environment.

A estrutura do Storage é composta por:

- **Apache**
    - 100 GB de Espaço com cloudlets de 1 à 10 max.
    - IP público
    - Acesso via SLB habilitado
    - PHP mais recente
- **Extra Storage (NFS)**
    - 100 GB de espaço com cloudlets de 1 até 10 max.
    - IP Público
    - Acesso via SLB Habilitado

**Image Configuração Apache:**

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/Ci9untitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/Ci9untitled-1.png)

**Imagem configuração Storage:**

[![Untitled (2).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/Fr4untitled-2.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/Fr4untitled-2.png)

Caso você não receba os dados de FTP no e-mail do cliente, você fará o passo de adicionar o FTP ao Storage.

Para adicionar FTP ao storage você irá com o mouse em cima do storage e clicará em Add-ons, conforme imagem abaixo:

[![Untitled (3).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/4HBuntitled-3.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/4HBuntitled-3.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/4mkimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/4mkimage.png)

Clique em install e após a instalação você receberá os dados de login do FTP no e-mail da conta Save In Cloud.

# **Configurando o ambiente EduStore para FTP**

No arquivo .env da aplicação você usará as chaves abaixo para configurar o ftp da aplicação, caso a aplicação use Amazon S3, remova as chaves e cole as chave abaixo substituindo os valores pelo valores de login ftp do cliente.

FILESYSTEM\_DRIVER="ftp" FTP\_HOST="xxx.xxx.xxx.xx" FTP\_USERNAME="jelastic-ftp" FTP\_PASSWORD="xxxxxxx" FTP\_PORT="21" FTP\_URL="[https://xxxxxxxxx](https://xxxxxxxxx)"

#### **SSL no Storage ou Subdomínio Cloudflare**

Seu ftp está configurado, porém há dois caminhos que você pode seguir e ambos estão corretos, um dos caminhos é mais rápido e o outro é mais demorado.

#### **SSL no Storage**

Nesse caminho, você adicionará o SSL no seu ambiente storage, para o que mesmo tenha a url protegida pelo HTTPS.

Para fazer isso clique em no Add-ons do Apache e clique em LetsEncrypt, após isso ele irá pedir o domínio ao qual você deseja adicionar o SSL, adicione a url do seu ambiente storage, o mesmo colocado na config acima (FTP\_URL): [xxxxx.jelastic.saveincloud.net](http://xxxxx.jelastic.saveincloud.net).

[![Untitled (4).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/untitled-4.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/untitled-4.png)

##### **SSL com Subdomínio Save In Cloud:**

Na cloudflare do cliente você irá em DNS e adicionar um novo registro DNS (Tipo A) apontando para o ip público do seu storage (faixa vermelha é o IP), você poderá escolher o subdomínio que quiser, por padrão usamos o cdn.xxxxxx. Sera o ip publico do **apache.**

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/nEFuntitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/nEFuntitled-1.png)

##### **Liberando o CrossDomain do Storage:**

No apache do seu storage você vai clicar em configurações, clicar no diretório conf.d e vai abrir o arquivo 10-shared\_headers.conf

[![Untitled (2).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/4X7untitled-2.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/4X7untitled-2.png)

[![Untitled (3).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/P45untitled-3.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/P45untitled-3.png)

Troque o bloco de código pelo de baixo (o objetivo dele é que qualquer domínio poderá ver os arquivos do storage):

&lt;IfModule headers\_module&gt;

> Header set Access-Control-Allow-Origin "\*"  
> Header always set X-XSS-Protection "1; mode=block;"

&lt;/IfModule&gt;

Após isso basta reiniciar o apache do storage e testar se sua aplicação já está enviando os arquivos corretamente, sucesso!

[![Untitled (4).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/1Qmuntitled-4.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/1Qmuntitled-4.png)

##### **Criação de ponto de montagem no apache:**

No apache do seu storage você vai clicar em configurações, clicar no diretório conf.d e vai abrir o arquivo 10-shared\_headers.conf

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/SZzuntitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/SZzuntitled-1.png)

[![Untitled (2).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/neIuntitled-2.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/neIuntitled-2.png)

# URL públic MYSQL

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/untitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/untitled-1.png)

[![Untitled (2).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/untitled-2.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/untitled-2.png)

[![Untitled (3).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/untitled-3.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/untitled-3.png)

# Habilitando Cron

# Configurando CRON na SIC

<div id="bkmrk-">  
</div>Abrir o **apache/lightspeed** do ambiente e clicar na pasta a esquerda escrito CRON

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/vCOuntitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/vCOuntitled-1.png)

**Adicionar as linhas de comando abaixo:**

\* \* \* \* \* cd /var/www/webroot/ROOT &amp;&amp; php artisan schedule:run &gt;&gt; /dev/null 2&gt;&amp;1  
30 \* \* \* \* sh /var/www/webroot/ROOT/clear.sh

# Ferramentas - Tips & Tricks

- Sem Rush
    
    
    - Buscar por keywords mais procuradas, análise de performance de SEO

- [Tome.ap](http://Tome.app)p ([https://tome.app/](https://tome.app/)) - Criaçãode Ebooks
    
    
    - Criação de ebooks e apresentações através de IA

- ToolSurf (Ferramentas caras de forma barata)
    
    Venda de ferramentas de forma compartilhada para pagar mais barato
- Vídeo vault
    
    
    - Análise de vídeos impulsionados no YouTube
    - [https://www.videoadvault.com/](https://www.videoadvault.com/)
    - $92 dols / mês

- Extensão ChatGPT para transcrever qualquer vídeo do YouTube
    
    
    - [https://chrome.google.com/webstore/detail/chatgpt-for-youtube/ocbklpkcikpidkleacbohkobinlilgbd](https://chrome.google.com/webstore/detail/chatgpt-for-youtube/ocbklpkcikpidkleacbohkobinlilgbd)

- Extensão Coconut - Download de VSL
    
    
    - [https://chrome.google.com/webstore/detail/video-downloader-cococut/gddbgllpilhpnjpkdbopahnpealaklle](https://chrome.google.com/webstore/detail/video-downloader-cococut/gddbgllpilhpnjpkdbopahnpealaklle)

- Tubedigger - Windows download VSL
- **Fliki \[Inteligência Artificial para criação de VSLs e vídeos\]**
    
    
    - [https://fliki.ai/](https://fliki.ai/)
    - $28 dols / mês

- **123Apps \[Plataforma para edição de vídeos online\]**
    
    [https://123apps.com/pt/](https://123apps.com/pt/)
- **Convertio \[Plataforma para converter arquivos\]**
    
    [https://convertio.co/video-converter/](https://convertio.co/video-converter/)
- **Podcast Adobe \[Plataforma para tratar o áudio\]**
    
    [https://podcast.adobe.com/enhance](https://podcast.adobe.com/enhance)
- **ElevenLabs \[Plataforma para clonagem de voz\]**
    
    [https://beta.elevenlabs.io/voice-lab](https://beta.elevenlabs.io/voice-lab)
- Auto Liker Brasil \[Comentários e Likes "Reais”\]
    
    [https://autolikerbrasil.com.br/](https://autolikerbrasil.com.br/)
    
    O objetivo é gerar engajamento em um publicação existente para rodar ela como dark post
- ChatMind

# Preparar Ambiente para Alta Carga

# 1. Objetivo

Normalmente, para lançamentos dos nossos clientes é imprescindível que analisemos a infraestrutura dos ambientes envolvidos, para que os mesmos possam aguentar a carga de processamento. Para isso precisamos nos atentar a:

- Limite de cloudlets de cada nodo, para lançamentos deve estar sempre no máximo:

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/Bmcuntitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/Bmcuntitled-1.png)

- Limite de utilização de rede:

[![Untitled (2).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/ssruntitled-2.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/ssruntitled-2.png)

Em cada ambiente terá um ícone para mostrar as estatísticas, clique para ver.

[![Untitled (3).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/Bnpuntitled-3.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/Bnpuntitled-3.png)

O Out ext. limit deve estar no máximo, para aguentar o tráfego de rede, o mínimo para lançamentos é de 400MB.

Para aumentar essa configuração entre em contato com a Save In Cloud, passe os nomes dos ambiente e peça para aumentar o limite de banda externa.

# 2. Balanceamento com múltiplos

O ambiente obrigatoriamente precisa ter um nginx para balancear, após isso adicionamos mais nós de lightspeed/apache, conforme imagem abaixo:.

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/tUWuntitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/tUWuntitled-1.png)

Após adicionar ou remover nós de apache <span class="notion-enable-hover" data-token-index="1">é importante ajustar o arquivo CRON</span>, acesse o arquivo cron do primeiro nó e deixe em apenas um dos nós o schedule do Laravel.

[![Untitled (2).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/EjCuntitled-2.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/EjCuntitled-2.png)

[![Untitled (3).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/a7duntitled-3.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/a7duntitled-3.png)

Nos demais nós, mantenha comentado, ou seja, apenas um dos nós de apache deve gerenciar a fila.

[![Untitled (4).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/B0Juntitled-4.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/B0Juntitled-4.png)

# Configuração de Backup de Banco

# 1. Objetivo

Ao utilizar o Banco de Dados atrelado a Jelastic precisamos configurar uma opção para backup automático.

### 1. **Criar um ambiente separado para armazenamento:**

Este ambiente terá apenas uma opção de armazenamento, segue imagem de configuração:

[![WhatsApp Image 2022-07-05 at 11.18.36.jpeg](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/whatsapp-image-2022-07-05-at-11-18-36.jpeg)](https://wiki.edustore.online/uploads/images/gallery/2024-08/whatsapp-image-2022-07-05-at-11-18-36.jpeg)

### 2. Apontar o ambiente de armazenamento como backup

Após criado o ambiente de armazenamento, precisamos apontar nosso backup para ele, para isso devemos ir no ambiente principal do nosso banco de dados, clicar em configurações e ir até a pasta de “backup”, selecione a pasta de backup e clique em configurações, logo em seguida selecione a opção “Montar” (segue imagem de exemplo):

[![WhatsApp Image 2022-07-05 at 11.18.35.jpeg](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/whatsapp-image-2022-07-05-at-11-18-35.jpeg)](https://wiki.edustore.online/uploads/images/gallery/2024-08/whatsapp-image-2022-07-05-at-11-18-35.jpeg)

Após clicar em “Montar” selecione o node do ambiente de armazenamento na opção “NFS Server” e em seguida adicione o caminho da pasta para backup na opção “Caminho remoto” por padrão a pasta será “/data” (segue imagem de exemplo):

[![WhatsApp Image 2022-07-05 at 11.18.35 (1).jpeg](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/whatsapp-image-2022-07-05-at-11-18-35-1.jpeg)](https://wiki.edustore.online/uploads/images/gallery/2024-08/whatsapp-image-2022-07-05-at-11-18-35-1.jpeg)

### 3. Criar um comando cron para executar o backup

Após os passos anteriores chegamos na fase final de configuração, aqui precisamos criar um comando cron para rodar o dump do Banco de Dados, no servidor do banco clique em configurações, após isso acesse a pasta “cron” e na sequencia clique no arquivo mysql (segue imagem de exemplo):

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-08/scaled-1680-/bOquntitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-08/bOquntitled-1.png)

Dentro do arquivo “mysql” podemos configurar um cron para rodar o backup.

Exemplo de comandos crons:

\#0 1 \* \* \* /var/lib/jelastic/bin/backup\_script.sh -m dump -c 15 -u USER -p PASSWORD -d db1\[,db2,db3....\]

\#0 2 \* \* \* /var/lib/jelastic/bin/backup\_script.sh -m dump -u USER -p PASSWORD -d db -t table1\[,table2,table3....\]

\#0 3 \* \* \* /var/lib/jelastic/bin/backup\_script.sh -m dumpall -c 10 -u USER -p PASSWORD

**Cron utilizado para o backup do Banco de Dados do Braço Forte:**

01 03 \* \* \* /var/lib/jelastic/bin/backup\_script.sh -m dump -u USER -p PASSWORD -d bracoforte

Nesse comando ele executa o dump de todas as tabelas do Banco de Dados “bracoforte” ás 03:01 todos os dias.

# Nginx - Formas de Balanceamento

Fonte: [https://nginx.org/en/docs/http/load\_balancing.html](https://nginx.org/en/docs/http/load_balancing.html)

## <span dir="auto">Usando nginx como balanceador de carga HTTP</span>

<table id="bkmrk-m%C3%A9todos-de-balanceam" width="100%"><tbody><tr><td align="left">[<span dir="auto">Métodos de balanceamento de carga</span>](https://nginx.org/en/docs/http/load_balancing.html#nginx_load_balancing_methods)  
[<span dir="auto">Configuração padrão de balanceamento de carga</span>](https://nginx.org/en/docs/http/load_balancing.html#nginx_load_balancing_configuration)  
[<span dir="auto">Balanceamento de carga menos conectado</span>](https://nginx.org/en/docs/http/load_balancing.html#nginx_load_balancing_with_least_connected)  
[<span dir="auto">Persistência de sessão</span>](https://nginx.org/en/docs/http/load_balancing.html#nginx_load_balancing_with_ip_hash)  
[<span dir="auto">Balanceamento de carga ponderado</span>](https://nginx.org/en/docs/http/load_balancing.html#nginx_weighted_load_balancing)  
[<span dir="auto">Verificações de integridade</span>](https://nginx.org/en/docs/http/load_balancing.html#nginx_load_balancing_health_checks)  
[<span dir="auto">Leitura adicional</span>](https://nginx.org/en/docs/http/load_balancing.html#nginx_load_balancing_additional_information)  
</td></tr></tbody></table>

<center id="bkmrk-introdu%C3%A7%C3%A3o">#### <span dir="auto">Introdução</span>

</center><span dir="auto">O balanceamento de carga entre várias instâncias de aplicativos é uma técnica comumente usada para otimizar a utilização de recursos, maximizar a taxa de transferência, reduzir a latência e garantir configurações tolerantes a falhas.</span>

<span dir="auto">É possível usar o nginx como um balanceador de carga HTTP muito eficiente para distribuir tráfego para vários servidores de aplicativos e melhorar o desempenho, a escalabilidade e a confiabilidade de aplicativos da web com o nginx.</span>

<a name="nginx_load_balancing_methods"></a>

<center id="bkmrk-m%C3%A9todos-de-balanceam-1">#### <span dir="auto">Métodos de balanceamento de carga</span>

</center><span dir="auto">Os seguintes mecanismos (ou métodos) de balanceamento de carga são suportados no nginx:</span>

- <span dir="auto">round-robin — as solicitações aos servidores de aplicativos são distribuídas em formato round-robin,</span>
- <span dir="auto">menos conectado — a próxima solicitação é atribuída ao servidor com o menor número de conexões ativas,</span>
- <span dir="auto">ip-hash — uma função hash é usada para determinar qual servidor deve ser selecionado para a próxima solicitação (com base no endereço IP do cliente).</span>

<a name="nginx_load_balancing_configuration"></a>

<center id="bkmrk-configura%C3%A7%C3%A3o-de-bala">#### <span dir="auto">Configuração de balanceamento de carga padrão</span>

</center><span dir="auto">A configuração mais simples para balanceamento de carga com nginx pode ser parecida com a seguinte:</span>

> ```
> http {
>     upstream myapp1 {
>         servidor srv1.example.com;
>         servidor srv2.example.com;
>         servidor srv3.example.com;
>     }
> 
>     servidor {
>         ouvir 80;
> 
>         localização / {
>             proxy_pass http://myapp1;
>         }
>     }
> }
> ```

<span dir="auto">No exemplo acima, há 3 instâncias do mesmo aplicativo em execução em srv1-srv3. Quando o método de balanceamento de carga não é configurado especificamente, o padrão é round-robin. Todas as solicitações são </span>[<span dir="auto">encaminhadas por proxy</span>](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass)<span dir="auto"> para o grupo de servidores myapp1, e o nginx aplica o balanceamento de carga HTTP para distribuir as solicitações.</span>

<span dir="auto">A implementação de proxy reverso no nginx inclui balanceamento de carga para HTTP, HTTPS, FastCGI, uwsgi, SCGI, memcached e gRPC.</span>

<span dir="auto">Para configurar o balanceamento de carga para HTTPS em vez de HTTP, basta usar “https” como protocolo.</span>

<span dir="auto">Ao configurar o balanceamento de carga para FastCGI, uwsgi, SCGI, memcached ou gRPC, use as diretivas </span>[<span dir="auto">fastcgi\_pass</span>](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_pass)<span dir="auto"> , </span>[<span dir="auto">uwsgi\_pass</span>](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html#uwsgi_pass)<span dir="auto"> , </span>[<span dir="auto">scgi\_pass</span>](https://nginx.org/en/docs/http/ngx_http_scgi_module.html#scgi_pass)<span dir="auto"> , </span>[<span dir="auto">memcached\_pass</span>](https://nginx.org/en/docs/http/ngx_http_memcached_module.html#memcached_pass)<span dir="auto"> e </span>[<span dir="auto">grpc\_pass</span>](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_pass)<span dir="auto"> respectivamente.</span>

<a name="nginx_load_balancing_with_least_connected"></a>

<center id="bkmrk-balanceamento-de-car">#### <span dir="auto">Balanceamento de carga menos conectado</span>

</center><span dir="auto">Outra disciplina de balanceamento de carga é a menos conectada. Essa abordagem permite controlar a carga em instâncias de aplicativos de forma mais justa em situações em que algumas solicitações demoram mais para serem concluídas.</span>

<span dir="auto">Com o balanceamento de carga menos conectado, o nginx tentará não sobrecarregar um servidor de aplicativos ocupado com solicitações excessivas, distribuindo as novas solicitações para um servidor menos ocupado.</span>

<span dir="auto">O balanceamento de carga menos conectado no nginx é ativado quando a diretiva </span>[<span dir="auto">least\_conn</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#least_conn)<span dir="auto"> é usada como parte da configuração do grupo de servidores:</span>

> ```
>     upstream myapp1 {
>         conexão_menor;
>         servidor srv1.example.com;
>         servidor srv2.example.com;
>         servidor srv3.example.com;
>     }
> ```

<a name="nginx_load_balancing_with_ip_hash"></a>

<center id="bkmrk-persist%C3%AAncia-de-sess">#### <span dir="auto">Persistência de sessão</span>

</center><span dir="auto">Observe que, com o balanceamento de carga round-robin ou de menor conexão, cada solicitação de cliente subsequente pode ser potencialmente distribuída para um servidor diferente. Não há garantia de que o mesmo cliente será sempre direcionado para o mesmo servidor.</span>

<span dir="auto">Se houver necessidade de vincular um cliente a um servidor de aplicativo específico — em outras palavras, tornar a sessão do cliente "fixa" ou "persistente" em termos de sempre tentar selecionar um servidor específico — o mecanismo de balanceamento de carga ip-hash pode ser usado.</span>

<span dir="auto">Com o ip-hash, o endereço IP do cliente é usado como uma chave de hash para determinar qual servidor em um grupo de servidores deve ser selecionado para as solicitações do cliente. Este método garante que as solicitações do mesmo cliente sejam sempre direcionadas ao mesmo servidor, exceto quando este estiver indisponível.</span>

<span dir="auto">Para configurar o balanceamento de carga ip-hash, basta adicionar a diretiva </span>[<span dir="auto">ip\_hash</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#ip_hash)<span dir="auto"> à configuração do grupo do servidor (upstream):</span>

> ```
> upstream myapp1 {
>     ip_hash;
>     servidor srv1.example.com;
>     servidor srv2.example.com;
>     servidor srv3.example.com;
> }
> ```

<a name="nginx_weighted_load_balancing"></a>

<center id="bkmrk-balanceamento-de-car-2">#### <span dir="auto">Balanceamento de carga ponderado</span>

</center><span dir="auto">Também é possível influenciar ainda mais os algoritmos de balanceamento de carga do nginx usando pesos de servidor.</span>

<span dir="auto">Nos exemplos acima, os pesos do servidor não são configurados, o que significa que todos os servidores especificados são tratados como igualmente qualificados para um método específico de balanceamento de carga.</span>

<span dir="auto">Com o round-robin em particular, isso também significa uma distribuição mais ou menos igual de solicitações entre os servidores — desde que haja solicitações suficientes e quando as solicitações sejam processadas de maneira uniforme e concluídas com rapidez suficiente.</span>

<span dir="auto">Quando o parâmetro </span>[<span dir="auto">de peso</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server)<span dir="auto"> é especificado para um servidor, o peso é contabilizado como parte da decisão de balanceamento de carga.</span>

> ```
>     upstream myapp1 {
>         servidor srv1.example.com peso=3;
>         servidor srv2.example.com;
>         servidor srv3.example.com;
>     }
> ```

<span dir="auto">Com essa configuração, a cada 5 novas solicitações serão distribuídas entre as instâncias do aplicativo da seguinte maneira: 3 solicitações serão direcionadas para srv1, uma solicitação irá para srv2 e outra para srv3.</span>

<span dir="auto">Da mesma forma, é possível usar pesos com balanceamento de carga menos conectado e ip-hash nas versões recentes do nginx.</span>

<a name="nginx_load_balancing_health_checks"></a>

<center id="bkmrk-verifica%C3%A7%C3%B5es-de-sa%C3%BAd">#### <span dir="auto">Verificações de saúde</span>

</center><span dir="auto">A implementação de proxy reverso no nginx inclui verificações de integridade do servidor em banda (ou passivas). Se a resposta de um servidor específico falhar com um erro, o nginx marcará esse servidor como falho e tentará evitar a seleção deste servidor para solicitações de entrada subsequentes por um tempo.</span>

<span dir="auto">A diretiva </span>[<span dir="auto">max\_fails</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server)<span dir="auto"> define o número de tentativas consecutivas malsucedidas de comunicação com o servidor que devem ocorrer durante </span>[<span dir="auto">o fail\_timeout</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server)<span dir="auto"> . Por padrão, </span>[<span dir="auto">max\_fails</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server)<span dir="auto"> é definido como 1. Quando definido como 0, as verificações de integridade são desativadas para este servidor. O parâmetro </span>[<span dir="auto">fail\_timeout</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server)<span dir="auto"> também define por quanto tempo o servidor será marcado como com falha. Após o intervalo </span>[<span dir="auto">fail\_timeout</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server)<span dir="auto"> após a falha do servidor, o nginx começará a sondar o servidor normalmente com as solicitações do cliente ativo. Se as sondagens forem bem-sucedidas, o servidor será marcado como ativo.</span>

<a name="nginx_load_balancing_additional_information"></a>

<center id="bkmrk-leitura-adicional">#### <span dir="auto">Leitura adicional</span>

</center><span dir="auto">Além disso, existem mais diretivas e parâmetros que controlam o balanceamento de carga do servidor no nginx, como </span>[<span dir="auto">proxy\_next\_upstream</span>](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream)<span dir="auto"> , </span>[<span dir="auto">backup</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server)<span dir="auto"> , </span>[<span dir="auto">down</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server)<span dir="auto"> e </span>[<span dir="auto">keepalive</span>](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive)<span dir="auto"> . Para mais informações, consulte nossa </span>[<span dir="auto">documentação de referência</span>](https://nginx.org/en/docs/)<span dir="auto"> .</span>

<span dir="auto">Por último, mas não menos importante, o balanceamento de carga de aplicativos, as verificações de integridade dos aplicativos, o monitoramento de atividades e a reconfiguração dinâmica de grupos de servidores estão disponíveis como parte de nossas assinaturas pagas do NGINX Plus.</span>

# Guia Completo: Criação de Conta SIC e Configuração de Ambiente do Zero

**Documentação:**   
[https://wiki.edustore.online/books/save-in-cloud](https://wiki.edustore.online/books/save-in-cloud)

**Videos Complementares:**  
Ambiente Principal Parte 1 : [https://www.youtube.com/watch?v=JQhrZJxuqrE&amp;ab\_channel=EduStore-PlataformaPremiumparaCursosOnline](https://www.youtube.com/watch?v=JQhrZJxuqrE&ab_channel=EduStore-PlataformaPremiumparaCursosOnline)  
Ambiente Principal Parte 2 :[https://www.youtube.com/watch?v=ggunGuD2VI8](https://www.youtube.com/watch?v=ggunGuD2VI8)  
Ambiente Storage: [https://www.youtube.com/watch?v=m08mbwIvXWg](https://www.youtube.com/watch?v=m08mbwIvXWg)

Esta documentação é um guia completo para a criação de uma nova conta SIC, cobrindo todas as etapas necessárias para a configuração integral do ambiente. Acima, você encontrará materiais de apoio — como documentações e vídeos complementares — que podem ser utilizados como referência caso surjam dúvidas durante o processo de instalação.

#### **Criando uma Conta SIC** 

Para começar, é necessário criar uma conta na SIC. Clique no link abaixo e siga as instruções para concluir o processo de cadastro.  
  
[https://register.saveincloud.com/geral/site](https://register.saveincloud.com/geral/site)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/image.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/image.png)

> ##### **Observação:** O ideal é utilizar o seguinte padrão de e-mail para o cadastro: `cliente_novo@edustore.online`. Vale lembrar que, durante a ativação via SMS, será necessário um número de celular ativo e acessível do próprio cliente para receber o código de verificação.

#### **Acesso Inicial ao SIC e Ativação da Conta Paga**

Com a conta já criada, acesse o link abaixo utilizando o e-mail e a senha cadastrados. Em seguida, clique em "Entrar" para acessar o ambiente. **[https://app.jelastic.saveincloud.net/](https://app.jelastic.saveincloud.net/)**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/FRsimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/FRsimage.png)

Antes de iniciar a configuração do ambiente, é necessário que o colaborador realize a compra de um crédito inicial no valor aproximado de **R$150 a R$200**.  
Para isso, clique na opção **"Assinar o Cloud"**, localizada na parte superior da tela. Esse processo irá direcionar para o cadastro e aquisição dos créditos necessários.  
Consulte a imagem abaixo para facilitar a identificação do botão.

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/CxNimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/CxNimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/Wbwimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/Wbwimage.png)

Após a conclusão do cadastro, o botão **"Assinar o Cloud"** será substituído por **"Saldo"**, na mesma posição anterior.  
Clique em **"Saldo"**, depois em **"Comprar saldo"**, selecione o valor desejado (entre **R$150 e R$200**, conforme citado acima) e escolha a forma de pagamento **PIX**.

> ##### ⚠️ **Atenção**: Dependendo do cliente, o método de pagamento disponível pode variar.

[ ![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/sJ0image.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/sJ0image.png)

#### **Criando o primeiro ambiente**

Para criar o primeiro ambiente, vá até a parte superior da tela e clique em **"Novo Ambiente"**. Ao fazer isso, será exibida uma tela semelhante a uma das imagens demonstradas abaixo.

> **Importante:** Caso surja alguma dúvida durante o processo de criação do ambiente, consulte os vídeos complementares localizados acima nesta documentação — especialmente os vídeos **"Ambiente Principal – Parte 1"** e **"Parte 2"**.

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/o0eimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/o0eimage.png)

Aqui está o fluxograma que serve de guia para a configuração, e alguns pontos importantes:

- **Disco:** 100 GB;
- **Cloudlets:** 8 GB (mínimo) até 10 GB (máximo);
- Nome do ambiente padrão: **prod-painel-sala-novocliente (**letras minúsculas separadas pelo traço**);**
- O IP público precisa ser **acrescentado ao LiteSpeed** para que o roteamento funcione corretamente;
- Redis deve ser utilizado para **sessões, filas e cache**, não como banco de dados principal sendo opcional para alguns demandas muito baixa.

> ### **IMPORTANTE:**
> 
> **"Atualizamos o ambiente para PHP 8.3 (anteriormente 8.1). As imagens existentes são antigas, então considere que qualquer referência à versão 8.1 agora corresponde à 8.3."**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-01/scaled-1680-/Tz2image.png)](https://wiki.edustore.online/uploads/images/gallery/2026-01/Tz2image.png)

> ##### ⚠️ **Observação:** Este fluxograma representa um modelo padrão recomendado para ambientes de **baixa demanda**.  
> Para cenários mais robustos ou com alto tráfego, os valores de recursos podem variar — consulte a documentação técnica ou entre em contato com o suporte para orientações específicas.
> 
> ##### A inclusão do **Redis** é opcional e pode ser omitida em ambientes com **demanda extremamente baixa**, onde o uso de cache in-memory não é essencial.

Imagens de como deve ficar a configuração:

#####   
**PHP-NGIX-NOME**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/eyVimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/eyVimage.png)

##### **LITESPEED**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/CVvimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/CVvimage.png)

#### **MYSQL**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/S1vimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/S1vimage.png)

#### **REDIS**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/cPnimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/cPnimage.png)

Após concluir as configurações conforme mencionado, clique em **"Criar"** e aguarde alguns minutos.

Após a conclusão da criação do ambiente, serão enviados por e-mail os detalhes relacionados à configuração e acesso de cada serviço, incluindo:

- **NGINX**
- **LiteSpeed**
- **MySQL**
- **Redis**

Esses e-mails contêm informações essenciais, como **URLs de acesso, credenciais, portas e IPs**, sendo fundamentais para o gerenciamento do ambiente.

O ambiente será provisionado automaticamente e, ao finalizar, terá uma aparência semelhante ao exemplo mostrado abaixo.

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/VhRimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/VhRimage.png)

#### **Liberando Sudo su &amp; Installando PHP-Redis**

Precisa entrar entrar contato com o pessoal da SIC para fazer a liberação do modo su do ambiente. A partir da liberação do ambiente, siga esses passos:

- Verificar se o ambiente possui redis: /usr/local/lsws/lsphp83/bin/php --ri redis | head -n 20
- Caso não houver redis, fazer essas verificações:  
    /usr/local/lsws/lsphp83/bin/php --ini | grep -i "20-redis.ini" || echo "NAO esta carregando 20-redis.ini"  
    echo "extension=redis.so" &gt; /usr/local/lsws/lsphp83/etc/php.d/20-redis.ini
    
    /usr/local/lsws/lsphp83/bin/php --ri redis | head -n 20
- Agora quando aparecer o redis verificar a versão, ela tem que ser &gt;= a versão 6.1
- Se for menor, no terminal digitar <span style="text-decoration: underline;">**sudo su** </span>para entrar em modo administrador, e então rodar esse comando:   
    /usr/local/lsws/lsphp83/bin/pecl uninstall redis
- Quando desinstalar basta, digitar no terminal esse comando: /usr/local/lsws/lsphp83/bin/pecl install redis-6.1.0
- Verificar se está &gt;= 6.1: /usr/local/lsws/lsphp83/bin/php --ri redis | head -n 20

#### **Apontando o Domínio para o Ambiente SIC**

Para concluir a ativação do ambiente SIC, é necessário configurar os domínios personalizados do cliente e realizar os apontamentos DNS corretamente.

Solicite ao cliente o domínio principal que será utilizado (ex: `seudominio.com.br`).  
Caso o domínio ainda não esteja registrado, oriente o cliente a registrar em serviços como Registro.br, GoDaddy, HostGator, etc.

Aponte o cliente (ou acesse com autorização) ao painel de gerenciamento DNS, que pode variar conforme o provedor (Cloudflare, Registro.br, GoDaddy, etc.).

Pegando o ip publico da NGIX:

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/89Fimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/89Fimage.png)

> ##### ⚠️ ***Importante**:* Cada painel pode ter uma interface diferente, mas os registros seguem os mesmos padrões.

Adicione os seguintes registros do tipo **A**, apontando para o **IP público do ambiente** (NGINX):

<div class="_tableContainer_1rjym_1" id="bkmrk-subdom%C3%ADnio-tipo-valo"><div class="group _tableWrapper_1rjym_13 flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1387" data-start="1053" style="width: 100.238%; height: 119.188px;"><thead data-end="1118" data-start="1053"><tr data-end="1118" data-start="1053" style="height: 29.7969px;"><th data-col-size="sm" data-end="1079" data-start="1053" style="width: 48.7145%; height: 29.7969px;">Subdomínio</th><th data-col-size="sm" data-end="1086" data-start="1079" style="width: 11.6373%; height: 29.7969px;">Tipo</th><th data-col-size="sm" data-end="1118" data-start="1086" style="width: 39.7835%; height: 29.7969px;">Valor (apontar para)</th></tr></thead><tbody data-end="1387" data-start="1184"><tr data-end="1251" data-start="1184" style="height: 29.7969px;"><td data-col-size="sm" data-end="1212" data-start="1184" style="width: 48.7145%; height: 29.7969px;">`cdn.seudominio.com.br `</td><td data-col-size="sm" data-end="1219" data-start="1212" style="width: 11.6373%; height: 29.7969px;">A</td><td data-col-size="sm" data-end="1251" data-start="1219" style="width: 39.7835%; height: 29.7969px;">Verificar no ambiente storage.</td></tr><tr data-end="1319" data-start="1252" style="height: 29.7969px;"><td data-col-size="sm" data-end="1280" data-start="1252" style="width: 48.7145%; height: 29.7969px;">`painel.seudominio.com.br`</td><td data-col-size="sm" data-end="1287" data-start="1280" style="width: 11.6373%; height: 29.7969px;">A</td><td data-col-size="sm" data-end="1319" data-start="1287" style="width: 39.7835%; height: 29.7969px;">IP público do servidor (NGIX)</td></tr><tr data-end="1387" data-start="1320" style="height: 29.7969px;"><td data-col-size="sm" data-end="1348" data-start="1320" style="width: 48.7145%; height: 29.7969px;">`sala.seudominio.com.br`</td><td data-col-size="sm" data-end="1355" data-start="1348" style="width: 11.6373%; height: 29.7969px;">A</td><td data-col-size="sm" data-end="1387" data-start="1355" style="width: 39.7835%; height: 29.7969px;">IP público do servidor (NGIX)</td></tr></tbody></table>

</div></div>#### **Compartilhamento de ambientes e Git**

Para centralizar e organizar os ambientes na conta principal da Edustore, compartilhe o ambiente com o e-mail: **<a class="decorated-link cursor-pointer" data-end="346" data-start="323" rel="noopener">contato@edustore.online</a>**

**Passo a passo:**

1. Acesse **Configurações → Colaboração → Compartilhado por mim**
2. Clique em **Convidar**
3. Informe o e-mail **<contato@edustore.online>**
4. Marque a opção **/admin (todos os ambientes)**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/n7timage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/n7timage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/LJfimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/LJfimage.png)

#### **Integração com Git no LiteSpeed**

Para facilitar a integração com o repositório GitLab e centralizar os ambientes, é **recomendado compartilhar o ambiente com a conta principal da Edustore**: <span style="color: #206ea7;">**contato@edustore.online**</span>

> ####  **Isso permite acessar rapidamente os repositórios Git já configurados nessa conta, agilizando a vinculação e a configuração do deploy.**

Para vincular o repositório Git ao ambiente LiteSpeed:

1. Vá em **Implementação → Implementar via Git**
2. Configure o repositório e branch conforme necessário
3. Após a publicação, defina o comando pós-deploy:

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-cd-%2Fvar%2Fwww%2Fwebroot%2F"><div class="sticky top-9">  
</div><div class="overflow-y-auto p-4 align-center" dir="ltr">`<span class="hljs-built_in">cd</span> /var/www/webroot/ROOT && composer install`</div><div class="overflow-y-auto p-4 align-center" dir="ltr">  
</div></div>[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/DDIimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/DDIimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/SM5image.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/SM5image.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/f0Dimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/f0Dimage.png)

##### [![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/NI9image.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/NI9image.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/1Hkimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/1Hkimage.png)

> ##### **Importante**: Esse comando garante que as dependências PHP do projeto sejam instaladas automaticamente após o deploy.

#### **Configurações no LiteSpeed**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/gWLimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/gWLimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/z0Dimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/z0Dimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/6okimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/6okimage.png)

###  **Configurações no LiteSpeed**

#### **Adicionando Pastas e Arquivos aos Favoritos**

Ao acessar o **LiteSpeed**, vá até a aba **Configurações** e localize as pastas e arquivos principais do ambiente, conforme mostrado na imagem acima.

Para facilitar o acesso no dia a dia:

1. Clique com o **botão esquerdo** sobre a pasta ou arquivo desejado.
2. No menu exibido, clique em **"Adicionar aos Favoritos"**.

> ✅ Recomendamos adicionar os seguintes itens:

- `ROOT`
- `.env`
- `storage`
- `logs`

#### **Ajustes no php.ini**

No mesmo ambiente LiteSpeed, acesse o arquivo `php.ini` e habilite as seguintes extensões necessárias para o funcionamento correto da aplicação:

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-extension%3Dgd.so-exte"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-attr">extension</span>=gd.so<span class="hljs-attr">extension</span>=imagick.so `</div><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>Ainda no `php.ini`, ajuste os seguintes parâmetros para garantir melhor desempenho e suporte a arquivos grandes:

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-memory_limit-%3D-10000"><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-attr">memory_limit</span> = <span class="hljs-number">10000</span>M<span class="hljs-attr">post_max_size</span> = <span class="hljs-number">8000</span>M<span class="hljs-attr">upload_max_filesize</span> = <span class="hljs-number">20000M</span>`</div></div><div class="overflow-y-auto p-4" dir="ltr" id="bkmrk--24">  
</div><div class="overflow-y-auto p-4" dir="ltr" id="bkmrk-para-imagick-e-gd-se">Para imagick e gd serem de fato, iniciadas tem que ajustar individualmente em no diretorio php.d (**/usr/local/lsws/lsphp83/etc/php.d**), onde deve ser procurado nos arquivos **20-gd.ini e 40-imagick.**</div>[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-01/scaled-1680-/d6Simage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-01/d6Simage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-01/scaled-1680-/H5oimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-01/H5oimage.png)

#### **Verificando email e configurações diretas** 

Após criar os ambientes, recebemos e-mails para concluir a configuração. Acesse o e-mail usado no cadastro da **SIC** e procure a mensagem do **LiteSpeed** para finalizar o processo.

**CAIXA DE ENTRADA DO SEU EMAIL DE CADASTRO:**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/Fegimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/Fegimage.png)

**CONTEÚDO DO EMAIL DO LITESPEED**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-10/scaled-1680-/6F6image.png)](https://wiki.edustore.online/uploads/images/gallery/2025-10/6F6image.png)

Depois disso, acesse o sistema pela **URL de Acesso** enviado no e-mail, utilizando seu login e senha.  
Em seguida, você será direcionado para a tela abaixo:

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/image.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/image.png)

Dentro das configurações do servidor **LiteSpeed**, vamos ajustar dois pontos importantes:

- Caminho para o **WebSocket**
- Caminho da **pasta pública** do projeto

### 1) Caminho do WebSocket

Acesse:  
**Configuration &gt; Virtual Hosts**

Em seguida:

1. Clique em **View/Edit** no Virtual Host desejado.
2. Vá até a aba **General**.
3. Ao final da página, localize a seção **WEB SOCKET PROXY SETUP** e clique em **Edit**.

Nessa configuração, os campos devem ficar exatamente como mostrado na imagem abaixo, ou seja, utilizando a **mesma URI** e o **mesmo Address**.

> **Obs: Ainda é necessária fazer mais outra configuração para o websocket funcionar corretamente, será mostrada mais a frente.**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk--31"><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/o33image.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/o33image.png)[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/XTMimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/XTMimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/xX1image.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/xX1image.png)

### 2) Caminho pasta publica

Acesse:  
**Configuration &gt; Virtual Hosts**

Em seguida:

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-clique-em-view%2Fedit--1"><div class="overflow-y-auto p-4" dir="ltr">1. Clique em **View/Edit** no Virtual Host desejado.
2. Vá até a aba **General**.
3. No campo **General** &gt; **Document Root** : temos que adicionar um "/public". Como mostrado a baixo.

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/llgimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/llgimage.png)  
</div></div><div class="overflow-y-auto p-4" dir="ltr" id="bkmrk--34"></div>Após salvar, será exibida na parte superior uma mensagem com um link **“Graceful Restart”**.  
Clique nesse link e aguarde alguns instantes até aparecer a mensagem de confirmação.

Feito isso, a configuração no **LiteSpeed** estará concluída.

### Configuração de tamanho de request LiteSpeed

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-05/scaled-1680-/sEpimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-05/sEpimage.png)

#### **Add-Ons (Nginx e LiteSpeed)**

No **Nginx**, vamos instalar os *add-ons* necessários.  
O principal deles é o **“Let’s Encrypt Free SSL”**.

Ao configurar o SSL:

- Informe os domínios que irão responder pelo **painel**, **sala** e **vitrine**
- Separe cada domínio com `;` (ponto e vírgula), **com exceção do último**

Depois de preencher, basta **aplicar** a configuração e aguardar alguns minutos até que o certificado seja gerado e tudo esteja ativo.

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/ssuimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/ssuimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/UZLimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/UZLimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/3NMimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/3NMimage.png)

Siga o mesmo caminho, porem agora no **LiteSpeed**.

No **LiteSpeed**, vamos instalar os *add-ons* necessários.  
O principal deles é o **“LiteSpeed License Manager”**.

> **Obs: Essa configuração antes de ser realizada, deve ser verificada mediante a equipe, pois podem envolver custos.**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/0OLimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/0OLimage.png)

#### **Criando o Storage**

A seguir está o link com o passo a passo completo de como configurar o **storage** e o seu **ponto de montagem**.

[https://wiki.edustore.online/books/documentacao-tecnica/page/criacao-de-storage](https://wiki.edustore.online/books/documentacao-tecnica/page/criacao-de-storage)

#### **Conclusão do Ambiente** 

Da mesma forma que você recebeu um e-mail com os dados do **LiteSpeed**, também será enviado outro e-mail com as informações do **SQL**.

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/wa6image.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/wa6image.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/PThimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/PThimage.png)

Em seguida, acesse **Configurações do ambiente &gt; Endpoints**:

1. Clique em **Adicionar**;
2. Selecione o **node de SQL**.
3. Defina o **Nome** e a **Porta** como:
    
    
    - Tipo: **MySQL**
    - Porta: **3306** (padrão do SQL)

Após salvar, será gerada uma **porta pública**, que aparecerá em tela de forma similar ao exemplo abaixo.

Agora no **Navicat**, siga os passos abaixo:

1. Crie uma **nova conexão MySQL**, conforme o modelo da imagem.
2. Preencha os campos utilizando os dados recebidos do servidor (host, usuário, senha e **porta pública** do MySQL).
3. Após preencher tudo, clique em **Testar Conexão** e verifique se a conexão foi estabelecida com sucesso.

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/xSEimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/xSEimage.png)

> [![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/UEGimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/UEGimage.png)

Após isso, clique com o **botão direito do mouse** sobre a conexão e selecione **“New Database”**.  
Informe um nome para o banco de dados e clique em **OK**.

> **Lembre-se de usar nomes relacionados ao cliente, seguindo o mesmo padrão dos bancos que já estão sendo utilizados como exemplo.**

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/c0yimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/c0yimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2025-11/scaled-1680-/renimage.png)](https://wiki.edustore.online/uploads/images/gallery/2025-11/renimage.png)

#### **Configuração .env**

No **LiteSpeed**, acesse **Configurações &gt; .env**.

A partir daqui, vamos ajustar as variáveis de ambiente necessárias para rodar as *migrations* do projeto corretamente.

Configure o arquivo `.env` desta forma (substituindo os campos entre parênteses pelos dados do seu ambiente):

APP\_DEBUG=false

APP\_URL=https://sala.seudominio.com.br # sala  
URL\_SITE="seudominio.com.br" # vitrine  
URL\_MATRIX="painel.seudominio.com.br" # painel

DB\_CONNECTION=mysql  
DB\_PORT=3306  
DB\_HOST=(conforme o e-mail do banco)  
DB\_DATABASE=(nome do database criado no Navicat)  
DB\_USERNAME=(usuário enviado no e-mail)  
DB\_PASSWORD=(senha enviada no e-mail)

FILESYSTEM\_DRIVER=ftp  
FTP\_HOST="(conforme storage)"  
FTP\_USERNAME="(conforme storage)"  
FTP\_PASSWORD="(conforme storage)"  
FTP\_PORT=21  
FTP\_URL="https://(conforme storage, subdomínio CDN)"

> #### **Caso existam outras configurações no `.env`, verifique com a equipe antes de alterar.**

Em seguida, acesse o **Web SSH** do LiteSpeed.

No terminal, navegue até a pasta do projeto:

cd /var/www/webroot/ROOT

E execute o comando:

php artisan migrate

> Se der erro na primeira vez, você pode rodar o comando novamente, pois muitas vezes a migration é concluída corretamente na segunda tentativa.

#### **Finalizando Websocket**

Agora vamos finalizar a configuração do **WebSocket**.

No painel, acesse:

**LiteSpeed → Cron → LiteSpeed**

Em seguida, cole o comando abaixo:

> \# IMPORTANT NOTE!
> 
> \# Please make sure there is a blank line after the last cronjob entry.
> 
> \* \* \* \* \* cd /var/www/webroot/ROOT &amp;&amp; php artisan schedule:run &gt;&gt; /dev/null 2&gt;&amp;1

Agora, após concluir todos os passos, você já pode testar o acesso em:

- `https://painel.seudominio.com.br`
- `https://sala.seudominio.com.br`

Se ambos abrirem normalmente, sem erros, significa que o ambiente foi configurado com sucesso e o processo está finalizado.

#### **Rodando Seeds &amp; Migrations**

No .env configure as chaves de login social:  
  
FB\_ID=414578407312542  
FB\_SECRET=f25ab006f5a69d9fa9f1b375b51150cf  
GOOGLE\_SECRET=GOCSPX-teqwf5ZCW\_zTtuYd\_3BvWUPBbrO8  
GOOGLE\_ID=861561782343-m3j5oin7toha588n903ncofh9ver9bmh.apps.googleusercontent.com  
LINKEDIN\_CLIENT\_ID=77ppfdd8dc7i6l  
LINKEDIN\_CLIENT\_SECRET=6eFq4JCazURpH3C3

Após isso, caso o cliente **utilize cache com o Redis**, configure o CACHE\_DRIVER = redis e o configure as chaves de acesso do redis: REDIS\_HOST="\*\*\*\*.saveincloud.net.br" e REDIS\_PASSWORD="\*\*\*\*"

Acesse o ambiente via WebSSH e acesso o diretório: cd /var/www/webroot/ROOT/, nele execute os seguintes comandos:

- - composer.install (nesse caso vai dar erro, mas terá instalado os pacotes)
    - php artisan migrate
    - php artisan db:seed

Feito, base criada, dados configurados, tudo pronto!

#### **Configurações iniciais no painel** 

Em **outros-&gt;configurações,** temos que adicionar essa configuração.

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/b80image.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/b80image.png)