SlideShare uma empresa Scribd logo
1 de 33
PIT III
Projeto de InovaçãoTecnológica III
Dirceu Belém
dirceu@cotemig.com.br
dirceu@fourtime.com
Publicação
Servidor
Agenda de hoje
1. Publicação
• Amazon
• Tomcat
• Nginx
• Postgresql
• Ntpdate
• Git
• Publicação “Automática”
• Funcional?
• Bloqueios de Porta
• Certificado SSL
• Elastic IP
Amazon
• Criando um servidor no EC2
• x
Amazon
• Launch Instance
Amazon
• Pesquise o SO
Amazon
• Preços
Amazon
• Micro U$ 0,012 a hora
(24 hr X 31 dias) = 744 horas
Valor total: U$ 8,93 ou R$ 35,36 (dólar a 3,96)
Amazon
• Defina a máquina
Amazon
• Certificado para acessar o servidor
Amazon
• Instâncias
Amazon
• Como conectar
Amazon
• Liberando Portas
Atualizando Distribuição
Baixando e atualizando distribuição do SO
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Java
Download do Java 8
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Renomeie o arquivo
Descompacte:
tar -vzxf jdk-8u211-linux-x64.tar.gz
Crie o diretório do java
mkdir /usr/java
Mova o java pra pasta nova
mv jdk1.8.0_211 /usr/java/
Configure para o java ficar global
update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_211/jre/bin/java 2000
update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_211/bin/javac 2000
Tomcat
Download doTomcat 9
https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.19/bin/apache-tomcat-9.0.19.tar.gz
Descompacte e jogue na pasta /opt/tomcat
tar -zxvf apache-tomcat-9.0.19.tar.gz && mv apache-tomcat-9.0.19 /opt/tomcat
Tomcat
Configure oTomcat como Serviço
nano /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=root
Group=root
Environment= ^`^|JAVA_HOME=/usr/java/jdk1.8.0_211 ^`^}
Environment= ^`^|JAVA_OPTS=-Djava.security.egd=file:///dev/urandom ^`^}
Environment= ^`^|CATALINA_BASE=/opt/tomcat/ ^`^}
Environment= ^`^|CATALINA_HOME=/opt/tomcat/ ^`^}
Environment= ^`^|CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC ^`^}
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Tomcat
Configure oTomcat como Serviço
Recarregando o daemon do Linux
sudo systemctl daemon-reload
Ativando serviço do Tomcat
sudo systemctl enable tomcat
Iniciando Tomcat
sudo systemctl start tomcat
Verifique se o serviço está rodando
sudo systemctl status tomcat
NGinx
Instalando NGinx
apt-get install nginx
Configurando domínio no Nginx e Proxy com Tomcat
NGinx
server {
server_name dominio;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
proxy_pass http://127.0.0.1:8080/projeto/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect default;
proxy_cookie_path /projeto /;
location /projeto {
rewrite ^/projeto(.*)$ $1 redirect;
}
}
}
NGinx
Configurando NGinx
Reinicie o NGINX
sudo systemctl reload nginx
PostgreSQL
Instalando Postgresql
apt-get install postgresql
Mude a senha do usuário postgres
cd /usr/lib/postgresql/9.6/bin
su postgres
./psql
password
COLOQUE UMA SENHA FORTE
q <- quando trocar
PostgreSQL
Liberando acesso ao Postgresql de outras máquinas
nano /etc/postgresql/9.6/main/postgresql.conf
Descomente a linha
#listen_addresses = 'localhost’
para
listen_addresses = 'localhost’
E altere o ‘localhost’ para ‘*’
listen_addresses = '*’
PostgreSQL
Liberando acesso ao Postgresql de outras máquinas
nano /etc/postgresql/9.6/main/pg_hba.conf
Comente todas as configurações de host
# "local" is for Unix domain socket connections only
#local all all peer
# IPv4 local connections:
#host all all 127.0.0.1/32 md5
# IPv6 local connections:
#host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
PostgreSQL
Liberando acesso ao Postgresql de outras máquinas
nano /etc/postgresql/9.6/main/pg_hba.conf
Coloque assim:
# IPv4 local connections:
local all all peer
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
Reinicie o Postgresql
/etc/init.d/./postgresql restart
Ou
systemctl restart postgresql
PostgreSQL
Liberando acesso ao Postgresql de outras máquinas
nano /etc/postgresql/9.6/main/postgresql.conf
Descomente a linha
#listen_addresses = 'localhost’
para
listen_addresses = 'localhost’
E altere o ‘localhost’ para ‘*’
listen_addresses = '*’
PostgreSQL
Criando usuário e Banco
cd /usr/lib/postgresql/9.6/bin
su postgres
createuser --interactive –pwprompt
Digite o nome do usuário a ser adicionada
Digite a senha para o novo usuário
O novo papel será um superusuário?
O novo papel deve ser permitido criar bancos de dados? Digite y se você quiser permitir que o usuário crie novos bancos de
dados. Caso contrário, digite n.
O novo papel pode criar mais novos papéis? prompt, digite y se você quiser permitir que o usuário crie novos usuários. Caso
contrário, digite n.
createdb -O user dbname
Ntpdate
Configurando hora do servidor
dpkg-reconfigure tzdata
apt-get install ntpdate
ntpdate a.ntp.br
Git
Baixando projeto pelo Git
apt-get install git
mkdir projeto
cd projeto
git clone URLDOGIT
Git
ConfigurandoAtualização Automática
#!/bin/bash
NOW=$(date '+%d/%m/%Y %H:%M:%S')
LOG="/home/admin/task/output.log"
GIT="https://github.com/dirceubelem/task-api.git"
cd "/home/admin/task/task-api"
output=`/usr/bin/git pull ${GIT}`
if [[ $output == *"Updating"* ]]
then
echo -e "----------------------------------------------------------------------------------------------------------------" >> ${LOG}
echo -e "${NOW} - Git Atualizado! Instalando App..." >> ${LOG}
sleep 5
sudo /home/admin/task/task-api/./compile.sh && >> ${LOG}
echo -e "${NOW} - Atualizado!" >> ${LOG}
else
echo -e "${NOW} - Sem alteracoes"
fi
echo -e ${output}
Contab
Habilitando crontab para publicação automática
crontab -e
*/5 * * * * /home/admin/task/publica.sh
A cada 5 minutos vai verificar se existe atualização no GIT e publicar
Obrigado
Dirceu Belém
dirceu@cotemig.com.br
dirceu@fourtime.com

Mais conteúdo relacionado

Mais procurados

O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiFrancisco Gonçalves
 
Temperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbTemperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbThiago Santos
 
Docker de containers a orquestração
Docker de containers a orquestraçãoDocker de containers a orquestração
Docker de containers a orquestraçãoItalo José
 
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemasTDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemastdc-globalcode
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetesRicardo Katz
 
Criando um Website Cacheavel
Criando um Website CacheavelCriando um Website Cacheavel
Criando um Website CacheavelLucas Brasilino
 
O bom, o mau, o vilão... e o node.js
O bom, o mau, o vilão... e o node.jsO bom, o mau, o vilão... e o node.js
O bom, o mau, o vilão... e o node.jsNuno Paz
 
Oficina de Squid: Filtros Inteligentes
 Oficina de Squid: Filtros Inteligentes Oficina de Squid: Filtros Inteligentes
Oficina de Squid: Filtros InteligentesThiago Finardi
 
Alta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLAlta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLLeonardo Cezar
 
Sistemas operacionais 6
Sistemas operacionais 6Sistemas operacionais 6
Sistemas operacionais 6Nauber Gois
 
pfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpadpfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpadCavalcante Treinamentos
 
Implementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerImplementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerTiago Bezerra Dos Santos
 
Apresentação PGDAY - instalação e configuração - PostgreSQL
Apresentação PGDAY - instalação e configuração - PostgreSQLApresentação PGDAY - instalação e configuração - PostgreSQL
Apresentação PGDAY - instalação e configuração - PostgreSQLJohnes Castro
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1Nauber Gois
 

Mais procurados (20)

DevOps Braga #5
DevOps Braga #5DevOps Braga #5
DevOps Braga #5
 
O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-ti
 
Temperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbTemperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper Usb
 
Squid
SquidSquid
Squid
 
Docker de containers a orquestração
Docker de containers a orquestraçãoDocker de containers a orquestração
Docker de containers a orquestração
 
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemasTDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetes
 
Criando um Website Cacheavel
Criando um Website CacheavelCriando um Website Cacheavel
Criando um Website Cacheavel
 
HOST079 - Docker
HOST079 - DockerHOST079 - Docker
HOST079 - Docker
 
Ubuntued blog
Ubuntued blogUbuntued blog
Ubuntued blog
 
O bom, o mau, o vilão... e o node.js
O bom, o mau, o vilão... e o node.jsO bom, o mau, o vilão... e o node.js
O bom, o mau, o vilão... e o node.js
 
Oficina de Squid: Filtros Inteligentes
 Oficina de Squid: Filtros Inteligentes Oficina de Squid: Filtros Inteligentes
Oficina de Squid: Filtros Inteligentes
 
Alta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLAlta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQL
 
Sistemas operacionais 6
Sistemas operacionais 6Sistemas operacionais 6
Sistemas operacionais 6
 
pfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpadpfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpad
 
Implementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerImplementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu Server
 
Node JS - Parte 4
Node JS - Parte 4Node JS - Parte 4
Node JS - Parte 4
 
Apresentação PGDAY - instalação e configuração - PostgreSQL
Apresentação PGDAY - instalação e configuração - PostgreSQLApresentação PGDAY - instalação e configuração - PostgreSQL
Apresentação PGDAY - instalação e configuração - PostgreSQL
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1
 

Semelhante a Configurando servidor AWS com Java, Tomcat, PostgreSQL, Git e publicação automática

Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxThiago Paes
 
Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanElton Minetto
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Fabrízio Mello
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)elliando dias
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteRoberto Mello
 
Instalação de um servidor debian
Instalação de um servidor debianInstalação de um servidor debian
Instalação de um servidor debianEduardo Mendes
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDFrederico Madeira
 
Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Wellington Silva
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Aécio Pires
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalaçãoLuís Eduardo
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory gigadrop
 

Semelhante a Configurando servidor AWS com Java, Tomcat, PostgreSQL, Git e publicação automática (20)

Squid proxy
Squid proxySquid proxy
Squid proxy
 
Aula 2
Aula 2Aula 2
Aula 2
 
Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com Nginx
 
Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando Gearman
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)
 
Consegi 2011: Puppet
Consegi 2011: PuppetConsegi 2011: Puppet
Consegi 2011: Puppet
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container Suite
 
Vagrant + Puppet
Vagrant + PuppetVagrant + Puppet
Vagrant + Puppet
 
Instalação de um servidor debian
Instalação de um servidor debianInstalação de um servidor debian
Instalação de um servidor debian
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBD
 
Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalação
 
Trab linux+sarg
Trab linux+sargTrab linux+sarg
Trab linux+sarg
 
Apache proxy
Apache proxyApache proxy
Apache proxy
 
PHP e Redis
PHP e RedisPHP e Redis
PHP e Redis
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
 

Mais de Dirceu Belém

Vendi um app e agora?
Vendi um app e agora?Vendi um app e agora?
Vendi um app e agora?Dirceu Belém
 
Aula PIT 3 push notification
Aula PIT 3  push notificationAula PIT 3  push notification
Aula PIT 3 push notificationDirceu Belém
 
As vantagens de se tornar um desenvolvedor mobile
As vantagens de se tornar um desenvolvedor mobileAs vantagens de se tornar um desenvolvedor mobile
As vantagens de se tornar um desenvolvedor mobileDirceu Belém
 
Introdução ao Mobile Marketing
Introdução ao Mobile MarketingIntrodução ao Mobile Marketing
Introdução ao Mobile MarketingDirceu Belém
 
Mobile Marketing e Games
Mobile Marketing e GamesMobile Marketing e Games
Mobile Marketing e GamesDirceu Belém
 
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Dirceu Belém
 
Apresentação case mobile
Apresentação case mobileApresentação case mobile
Apresentação case mobileDirceu Belém
 

Mais de Dirceu Belém (11)

Vendi um app e agora?
Vendi um app e agora?Vendi um app e agora?
Vendi um app e agora?
 
Aula PIT 3
Aula PIT 3Aula PIT 3
Aula PIT 3
 
Aula PIT 3 push notification
Aula PIT 3  push notificationAula PIT 3  push notification
Aula PIT 3 push notification
 
Drone
DroneDrone
Drone
 
As vantagens de se tornar um desenvolvedor mobile
As vantagens de se tornar um desenvolvedor mobileAs vantagens de se tornar um desenvolvedor mobile
As vantagens de se tornar um desenvolvedor mobile
 
Mobile Marketing
Mobile MarketingMobile Marketing
Mobile Marketing
 
Tecnologias Mobile
Tecnologias MobileTecnologias Mobile
Tecnologias Mobile
 
Introdução ao Mobile Marketing
Introdução ao Mobile MarketingIntrodução ao Mobile Marketing
Introdução ao Mobile Marketing
 
Mobile Marketing e Games
Mobile Marketing e GamesMobile Marketing e Games
Mobile Marketing e Games
 
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
 
Apresentação case mobile
Apresentação case mobileApresentação case mobile
Apresentação case mobile
 

Configurando servidor AWS com Java, Tomcat, PostgreSQL, Git e publicação automática

  • 1. PIT III Projeto de InovaçãoTecnológica III Dirceu Belém dirceu@cotemig.com.br dirceu@fourtime.com
  • 3. Agenda de hoje 1. Publicação • Amazon • Tomcat • Nginx • Postgresql • Ntpdate • Git • Publicação “Automática” • Funcional? • Bloqueios de Porta • Certificado SSL • Elastic IP
  • 4. Amazon • Criando um servidor no EC2
  • 9. Amazon • Micro U$ 0,012 a hora (24 hr X 31 dias) = 744 horas Valor total: U$ 8,93 ou R$ 35,36 (dólar a 3,96)
  • 11. Amazon • Certificado para acessar o servidor
  • 15. Atualizando Distribuição Baixando e atualizando distribuição do SO sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
  • 16. Java Download do Java 8 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Renomeie o arquivo Descompacte: tar -vzxf jdk-8u211-linux-x64.tar.gz Crie o diretório do java mkdir /usr/java Mova o java pra pasta nova mv jdk1.8.0_211 /usr/java/ Configure para o java ficar global update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_211/jre/bin/java 2000 update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_211/bin/javac 2000
  • 17. Tomcat Download doTomcat 9 https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.19/bin/apache-tomcat-9.0.19.tar.gz Descompacte e jogue na pasta /opt/tomcat tar -zxvf apache-tomcat-9.0.19.tar.gz && mv apache-tomcat-9.0.19 /opt/tomcat
  • 18. Tomcat Configure oTomcat como Serviço nano /etc/systemd/system/tomcat.service [Unit] Description=Tomcat 9 servlet container After=network.target [Service] Type=forking User=root Group=root Environment= ^`^|JAVA_HOME=/usr/java/jdk1.8.0_211 ^`^} Environment= ^`^|JAVA_OPTS=-Djava.security.egd=file:///dev/urandom ^`^} Environment= ^`^|CATALINA_BASE=/opt/tomcat/ ^`^} Environment= ^`^|CATALINA_HOME=/opt/tomcat/ ^`^} Environment= ^`^|CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC ^`^} ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target
  • 19. Tomcat Configure oTomcat como Serviço Recarregando o daemon do Linux sudo systemctl daemon-reload Ativando serviço do Tomcat sudo systemctl enable tomcat Iniciando Tomcat sudo systemctl start tomcat Verifique se o serviço está rodando sudo systemctl status tomcat
  • 20. NGinx Instalando NGinx apt-get install nginx Configurando domínio no Nginx e Proxy com Tomcat
  • 21. NGinx server { server_name dominio; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. proxy_pass http://127.0.0.1:8080/projeto/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect default; proxy_cookie_path /projeto /; location /projeto { rewrite ^/projeto(.*)$ $1 redirect; } } }
  • 22. NGinx Configurando NGinx Reinicie o NGINX sudo systemctl reload nginx
  • 23. PostgreSQL Instalando Postgresql apt-get install postgresql Mude a senha do usuário postgres cd /usr/lib/postgresql/9.6/bin su postgres ./psql password COLOQUE UMA SENHA FORTE q <- quando trocar
  • 24. PostgreSQL Liberando acesso ao Postgresql de outras máquinas nano /etc/postgresql/9.6/main/postgresql.conf Descomente a linha #listen_addresses = 'localhost’ para listen_addresses = 'localhost’ E altere o ‘localhost’ para ‘*’ listen_addresses = '*’
  • 25. PostgreSQL Liberando acesso ao Postgresql de outras máquinas nano /etc/postgresql/9.6/main/pg_hba.conf Comente todas as configurações de host # "local" is for Unix domain socket connections only #local all all peer # IPv4 local connections: #host all all 127.0.0.1/32 md5 # IPv6 local connections: #host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 md5 #host replication postgres ::1/128 md5
  • 26. PostgreSQL Liberando acesso ao Postgresql de outras máquinas nano /etc/postgresql/9.6/main/pg_hba.conf Coloque assim: # IPv4 local connections: local all all peer host all all 127.0.0.1/32 md5 host all all 0.0.0.0/0 md5 # IPv6 local connections: host all all ::1/128 md5 Reinicie o Postgresql /etc/init.d/./postgresql restart Ou systemctl restart postgresql
  • 27. PostgreSQL Liberando acesso ao Postgresql de outras máquinas nano /etc/postgresql/9.6/main/postgresql.conf Descomente a linha #listen_addresses = 'localhost’ para listen_addresses = 'localhost’ E altere o ‘localhost’ para ‘*’ listen_addresses = '*’
  • 28. PostgreSQL Criando usuário e Banco cd /usr/lib/postgresql/9.6/bin su postgres createuser --interactive –pwprompt Digite o nome do usuário a ser adicionada Digite a senha para o novo usuário O novo papel será um superusuário? O novo papel deve ser permitido criar bancos de dados? Digite y se você quiser permitir que o usuário crie novos bancos de dados. Caso contrário, digite n. O novo papel pode criar mais novos papéis? prompt, digite y se você quiser permitir que o usuário crie novos usuários. Caso contrário, digite n. createdb -O user dbname
  • 29. Ntpdate Configurando hora do servidor dpkg-reconfigure tzdata apt-get install ntpdate ntpdate a.ntp.br
  • 30. Git Baixando projeto pelo Git apt-get install git mkdir projeto cd projeto git clone URLDOGIT
  • 31. Git ConfigurandoAtualização Automática #!/bin/bash NOW=$(date '+%d/%m/%Y %H:%M:%S') LOG="/home/admin/task/output.log" GIT="https://github.com/dirceubelem/task-api.git" cd "/home/admin/task/task-api" output=`/usr/bin/git pull ${GIT}` if [[ $output == *"Updating"* ]] then echo -e "----------------------------------------------------------------------------------------------------------------" >> ${LOG} echo -e "${NOW} - Git Atualizado! Instalando App..." >> ${LOG} sleep 5 sudo /home/admin/task/task-api/./compile.sh && >> ${LOG} echo -e "${NOW} - Atualizado!" >> ${LOG} else echo -e "${NOW} - Sem alteracoes" fi echo -e ${output}
  • 32. Contab Habilitando crontab para publicação automática crontab -e */5 * * * * /home/admin/task/publica.sh A cada 5 minutos vai verificar se existe atualização no GIT e publicar