Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
linux:rails_with_puma_deploy [2017/09/05 18:59] 1891982 [Configurações finais de deploy] |
linux:rails_with_puma_deploy [2021/08/25 10:33] (atual) |
||
---|---|---|---|
Linha 148: | Linha 148: | ||
< | < | ||
- | $ sudo apt-get install libpq-dev imagemagick git-core | + | $ sudo apt-get install libpq-dev imagemagick git-core |
</ | </ | ||
Linha 154: | Linha 154: | ||
Crie o Banco de Dados do Sistema no Postgresql | Crie o Banco de Dados do Sistema no Postgresql | ||
+ | |||
+ | Caso queira configura o Postgresql na mesma máquina do sistema, siga esse tutorial clicando | ||
+ | [[https:// | ||
+ | |||
Linha 490: | Linha 494: | ||
< | < | ||
mkdir / | mkdir / | ||
+ | cd / | ||
touch database.yml | touch database.yml | ||
touch secrets.yml | touch secrets.yml | ||
Linha 629: | Linha 634: | ||
</ | </ | ||
+ | ==== Configurando SSL (opcional) ==== | ||
+ | |||
+ | * Crie o arquivo .key, trocando < | ||
+ | |||
+ | < | ||
+ | openssl genrsa -des3 -out < | ||
+ | </ | ||
+ | |||
+ | * Crie o arquivo .csr, trocando < | ||
+ | |||
+ | < | ||
+ | openssl req -new -key < | ||
+ | </ | ||
+ | |||
+ | * Envie o arquivo .key e .csr para a geração do certificado. Após o certificado ser emitido, crie o arquivo: < | ||
+ | |||
+ | * Crie a o diretório certs dentro da raiz do seu projeto rails: | ||
+ | |||
+ | < | ||
+ | mkdir certs | ||
+ | </ | ||
+ | |||
+ | * Remova a senha da .key, trocando < | ||
+ | |||
+ | < | ||
+ | openssl rsa -in < | ||
+ | </ | ||
+ | |||
+ | * Copie os arquivos .key e .crt do certificado para esse diretório recém-criado | ||
+ | |||
+ | < | ||
+ | cp www.seu-dominio.ifce.edu.br.key certs | ||
+ | cp www.seu-dominio.ifce.edu.br.crt certs | ||
+ | </ | ||
+ | |||
+ | * Troque a configuração do nginx em config/ | ||
+ | |||
+ | < | ||
+ | upstream puma { | ||
+ | server unix:/// | ||
+ | } | ||
+ | |||
+ | # for redirecting to https version of the site | ||
+ | server { | ||
+ | listen 80; | ||
+ | rewrite ^(.*) https:// | ||
+ | } | ||
+ | |||
+ | # for redirecting to non-www version of the site | ||
+ | server { | ||
+ | listen | ||
+ | server_name | ||
+ | rewrite ^(.*) http://< | ||
+ | } | ||
+ | |||
+ | server { | ||
+ | listen | ||
+ | server_name < | ||
+ | root / | ||
+ | |||
+ | ssl on; | ||
+ | ssl_certificate / | ||
+ | ssl_certificate_key / | ||
+ | |||
+ | ssl_session_timeout | ||
+ | |||
+ | # modern configuration. tweak to your needs. | ||
+ | ssl_protocols TLSv1.2; | ||
+ | ssl_ciphers ' | ||
+ | ssl_prefer_server_ciphers on; | ||
+ | |||
+ | location ^~ /assets/ { | ||
+ | gzip_static on; | ||
+ | expires max; | ||
+ | add_header Cache-Control public; | ||
+ | } | ||
+ | |||
+ | try_files $uri/ | ||
+ | location @puma { | ||
+ | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
+ | proxy_set_header Host $host; | ||
+ | proxy_set_header X-Forwarded-Proto https; | ||
+ | proxy_redirect off; | ||
+ | proxy_pass http:// | ||
+ | } | ||
+ | |||
+ | error_page 500 502 503 504 /500.html; | ||
+ | client_max_body_size 10M; | ||
+ | keepalive_timeout 10; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | * Modifique a configuração do config/ | ||
+ | |||
+ | < | ||
+ | config.force_ssl = true | ||
+ | </ | ||
+ | |||
+ | * Modifique a configuração do enviroment de produção da sua app, provavelmente o config/ | ||
+ | |||
+ | < | ||
+ | config.action_mailer.default_url_options = { host: ' | ||
+ | config.action_mailer.asset_host = " | ||
+ | </ | ||
+ | |||
+ | * Agora comite tudo e faça um novo deploy | ||
+ | |||
+ | < | ||
+ | git add -A . | ||
+ | git commit -m " | ||
+ | git push origin master | ||
+ | cap production deploy | ||
+ | </ | ||
+ | |||
+ | * Após o deploy terminar logue no servidor via ssh e reinicie o nginx: | ||
+ | |||
+ | < | ||
+ | sudo service nginx restart | ||
+ | </ | ||
+ | |||
+ | * PRONTO! Sua app já deve responder via https:// |