Hostwinds Tutoriais

Resultados da busca por:


Índice


Você precisará do seguinte para começar:
Estaremos usando:
Criação de um usuário
Instalando e configurando Django
Configuração uWSGI
Configuração de serviço Systemd
Configuração NGINX
Conclusão

Como executar estruturas da Web Python (Ubuntu 18.04)

Tag: Ubuntu 

Você precisará do seguinte para começar:
Estaremos usando:
Criação de um usuário
Instalando e configurando Django
Configuração uWSGI
Configuração de serviço Systemd
Configuração NGINX
Conclusão

O Python é uma linguagem popular para alguns desenvolvedores da Web. Tem estruturas como frasco e Django que podem acelerar o desenvolvimento da Web do backend. Este guia passará sobre como obter a estrutura DJANGO e funcionando em um servidor VPS Hostwinds para ser servido pela Internet.

Você precisará do seguinte para começar:

  • Servidor Hostwinds Linux Cloud VPS
  • Acesso SSH
  • Ubuntu 18.04
  • Um nome de domínio que é apontado para o seu servidor

Estaremos usando:

  • Servidor da Web NGINX
  • Framework Django Python
  • uWSGI atuando como uma interface entre os dois.

Criação de um usuário

A maioria dos serviços em seu sistema não precisa ser executada como root, e por motivos de segurança, criaremos um usuário não root para executar o restante dos comandos neste guia.Você pode chamar esse usuário qualquer coisa.Aqui, estou criando um usuário chamado "User":

adduser user

Deve então solicitar uma senha para este novo usuário, criar uma senha que você possa lembrar e torná-lo difícil para os outros adivinharem.Também pedirá algumas informações adicionais, mas não deve afetar nada se você deixar todos os campos em branco.Agora, queremos que este usuário execute alguns comandos raiz, para que meu "usuário", vou adicioná-los a um grupo chamado "sudo".

usermod -aG sudo user

Isso permitirá aos usuários prefixar seus comandos com "sudo" para executar comandos normalmente protegidos por root usando a senha do usuário.

Agora, use o comando 'Exit' e faça login no servidor usando SSH como o usuário que você configurou.Para o usuário, apenas configuramos, o nome de usuário será "usuário" e a senha será aquela que você definiu quando você executar o comando adduser.

Instalando e configurando Django

Para usar o Django, você precisará configurar um ambiente Python.Comece usando esses comandos para atualizar seu software para a versão mais recente:

sudo apt update && sudo apt upgrade

Agora, precisaremos de algum software de todo o sistema. Felizmente, tudo o que precisamos está disponível nos repositórios do Ubuntu e pode ser instalado com o apt-get.

sudo apt-get install python3-pip nginx

Com o software de todo o sistema instalado, podemos construir nosso ambiente Django privado. Corre:

mkdir public_html
cd public_html
python3 -m venv django_serve

Isso criará uma pasta chamada Django_serve com algumas coisas nele. Ele tem sua própria versão do Python e, quando ativamos o arquivo de origem, o software instalado com Pip irá nesse diretório em vez de todo o sistema. O próximo passo é ativar o arquivo Python privado e instalar o Django.

source django-serve/bin/activate

Agora, podemos instalar o Django e iniciar um projeto Django usando os comandos:

pip install django
django-admin startproject my_site

Para permitir que nosso servidor da Web acesse o Django, precisamos adicionar o domínio aos hosts permitidos. Você pode escrever ou editar um arquivo na linha de comando usando um editor de texto de linha de comando. Muitos estão disponíveis no Linux, e estaremos usando nano neste guia.

Usando Nano, edite os configurações do arquivo.py no diretório MySite como assim:

nano mysite/settings.py

Uma vez no arquivo, encontre a linha que lê: permitido_hosts = [].

Nos colchetes, adicione o nome do domínio do seu site com aspas como assim:

ALLOWED_HOSTS = ['yourdomain.com', 'www.yourdomain.com']

Pressionar Control-X sai Nano quando ele pede que você salve, pressione 'Y'.

Você pode usar o comando desativado para voltar para o shell regular.

Com um novo site criado, podemos voltar nossa atenção para a configuração do uWSGI.

Configuração uWSGI

UWSGI é um software de protocolo que se comunica entre o código Python e o software WebServer. Por simplicidade, vamos ter nosso host usar apenas uma instância UWSGI. Vamos configurar um arquivo de configuração para o nosso projeto e criar um serviço Systemd para executá-lo em segundo plano.

Para começar, precisamos escrever um arquivo para configurar o uWSGI.

Mais uma vez, usaremos o nano para escrever um arquivo:

nano mysite.ini

Aqui está um arquivo INI barebones para nos ajudar a começar:

#/home/user/public_html/mysite.ini
[uwsgi]
socket = 127.0.0.1:10080
chdir = /home/$USER/public_html/my_site
module = my_site.wsgi:application
processes = 4
threads = 2

Substitua $ User acima com o nome de usuário que você está usando e my_site com o nome do seu domínio.

Configuração de serviço Systemd

Depois que o UWSGI estiver configurado, precisamos que o Linux execute-o automaticamente em segundo plano.A maioria das modernas distribuições do Linux conseguiu isso com o software SystemD.Você precisará criar o que é chamado de "arquivo de serviço" para SystemD para gerenciar o UWSGI.

Vamos ligar para o nosso arquivo my_site.service.Para abri-lo e configurar o serviço, execute:

sudo nano /etc/system/systemd/my_site.service
#/etc/system/systemd/my_site.service
#Tells Systemd about your site
[Unit]
Description=Guide test site.
After=network.target

#Where systemd should start it from.
[Service]
User=$USER
Group=www-data
WorkingDirectory=/home/user/public_html/my_site
Environment="PATH=/home/user/django_serve/bin"
ExecStart=/home/user/public_html/django_serve/bin/uwsgi my_site.ini

#For starting the service at boot.
[Install]
WantedBy=multi-user.target

Substitua $ User acima com o nome de usuário que você está trabalhando e my_site com seu nome de domínio.

Configuração NGINX

Finalmente, precisamos configurar o NGINX para ouvir UWSGI e passar solicitações a partir da Web. Essa configuração é realmente simples de configurar. Comece com a edição de um novo arquivo e novamente substituindo my_site abaixo pelo nome do domínio:

sudo nano /etc/nginx/sites-available/my_site.conf
# /etc/nginx/sites-available

# tell it where to look for django
upstream django_serve {
    server 127.0.0.1:10800;
}

server {
    listen 80; #can be 443 if you have SSL set up.
    root /home/user/public_html/my_site/;
    server_name www.my_site.com;

    location / {
        uwsgi_pass django_serve;
        include uswgi_params;
    }
}

Para o NGINX para ler e usar este arquivo, precisamos adicioná-lo ao diretório habilitado para sites. Este comando cria um link suave para ele.

sudo  ln -s /etc/nginx/sites-available/my_site.conf /etc/nginx/site-enabled

Agora, recarregue o NGINX:

sudo systemctl restart nginx

Agora, tente visitar o site no seu VPS. Se tudo correu bem, você deve ver isso:

Página da Web padrão do Django.

Conclusão

Embora existam muitas maneiras de configurar UWSGI e NginX, este é muito simples e direto. Espero que este guia seja suficiente para você começar, e como sempre, você pode nos alcançar se tiver alguma dúvida ou preocupação adicional.

Escrito por Hostwinds Team  /  Julho 26, 2019