Django
Django é um framework web Python de alto nível que incentiva o desenvolvimento rápido e o design limpo e pragmático. Construído por desenvolvedores experientes, ele cuida de muitos dos problemas do desenvolvimento web, para que você possa se concentrar em escrever seu aplicativo sem ter que reinventar a roda. É gratuito e de código aberto.
Software incluído:
Django - 4.1.1
Nginx - 1.18.0
Postgres - 14.6
Postfix - 3.4.13
Certbot - 1.21.0
Gunicorn - 20.1.0
Para começar após implantar o Django:
Permita as portas no firewall apenas para SSH (porta 22, limitada por taxa), HTTP (porta 80) e HTTPS (porta 443). Conforme Como criar Regras de Firewall.
Você será desconectado da instância e exibido com a mensagem abaixo até que a instância seja implantada. NÃO FAÇA LOGIN NA INSTÂNCIA POR 2 MINUTOS APÓS A CRIAÇÃO.
Please wait until the installation is completed....Connection to $IPADDRESS closed.
Assim que o Django estiver implantado:
Você pode fazer login na instância como ubuntu usando a senha que definiu quando criou a instância ou com uma chave SSH, se adicionou uma durante a criação.
Você pode então mudar o usuário para root sem senha digitando o seguinte comando.
sudo su -
Você pode visualizar a instância Django imediatamente visitando o endereço IP da instância no seu navegador.
A senha do usuário postgres está armazenada em /root/.postgresql_user_passwords
Faça login no postgres usando o comando <sudo -u postgres psql>
As informações do banco de dados do Django são armazenadas em /root/.postgresql_passwords
As credenciais de login do Django Admin são armazenadas em /root/.adminpanel_passwords
As credenciais de login do usuário do shell do Django são armazenadas em /root/.shell_user_passwords
O diretório raiz do Django é /home/django/django_project/django_project/
Você pode tentar reutilizar este projeto, localizado em /home/django/django_project, ou começar do zero em um novo local e editar a configuração do Gunicorn para apontar para ele em /etc/systemd/system/gunicorn.service. Você também pode alterar como o Nginx está roteando o tráfego editando /etc/nginx/sites-enabled/default.
Entre no diretório onde seu código Django está e instale quaisquer dependências. (Por exemplo, se você tiver um arquivo requirements.txt, execute pip install -r requirements.txt).
Isso é tudo! Sempre que fizer alterações no código, recarregue o Gunicorn assim:
PID=$(systemctl show --value -p MainPID gunicorn.service) && kill -HUP $PID
A área administrativa padrão do Django é acessível em /admin. O login e a senha são armazenados nos valores DJANGO_ADMIN_LOGIN_USER* que você vê ao chamar cat /root/.adminpanel_passwords enquanto está conectado por SSH.
Clique aqui para visualizar a conexão com o PostgreSQL por meio remoto.
Consulte a seção "Assim que o PostgreSQL estiver implantado:" e siga as instruções a partir de "Por padrão, este servidor de banco de dados ...".
Configurando o Postfix:
Defina um nome de host válido usando o comando "hostnamectl set-hostname test.example.com". Certifique-se de que o nome de host "test.example.com" tenha um registro A adequado.
O endereço IP da instância deve ter um registro PTR adequado.
Configure o nome de host no arquivo de configuração do postfix em /etc/postfix/main.cf.
Na seção abaixo, substitua o $hostname pelo nome de host válido:
myhostname = $hostname
Reinicie o Postfix usando o comando:
systemctl restart postfix
Após concluir as etapas acima, você pode verificar os e-mails enviados usando o comando:
echo "Postfix test" | mail -s "Subject" test@gmail.com"
Inicialmente, os e-mails serão direcionados para a pasta de spam. Como este é um IP novo, a reputação é desconhecida. Assim que a reputação for calculada com base nos e-mails recebidos e enviados, os e-mails serão direcionados para a caixa de entrada.