Implantação do zrlog

Guia de implantação do sistema de blog ZrLog (versão sem arquivo WAR, construção com Maven + otimização com espelho da Alibaba Cloud)

Cenário adaptado: pacote compactado sem WAR pré-construído, requer compilação via Maven; configuração adicional do espelho da Alibaba Cloud para resolver falhas no download de dependências

Máquina alvo: 192.168.223.20

Sistema operacional: RHEL/CentOS/Rocky Linux 9.x

No sistema RHEL/CentOS/Rocky Linux 9.x (máquina alvo 192.168.223.20), o código-fonte do ZrLog será compilado usando «JDK11 + Maven3.9.6» para gerar um arquivo WAR, combinado com MariaDB (banco de dados) + Tomcat10 (contêiner de aplicação) + Nginx (proxy reverso) para a implantação completa, permitindo acesso ao sistema de blog ZrLog através do navegador.

Código-fonte → Construção com Maven (download de dependências + compilação + empacotamento) → Arquivo WAR → Implantação no Tomcat → Proxy reverso Nginx → Acesso via navegador;

II. Preparação do ambiente prévio (JDK + Maven + dependências básicas)

2.1 Instalação e configuração do JDK 11

# 1. Upload do jdk-11.tar.gz para /root, extração
cd /root
tar -zxf jdk-11_linux-x64_bin.tar.gz  
mv  jdk-11  jdk11

# 2. Configuração das variáveis de ambiente globais (efetivo permanentemente)
cat > /etc/profile.d/jdk.sh << 'EOF'
export JAVA_HOME=/root/jdk11
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
EOF

# 3. Ativação e verificação
source /etc/profile.d/jdk.sh
java -version  # Exibe a versão do JDK se bem-sucedido


  • JDK é o kit de desenvolvimento Java, contendo todas as ferramentas necessárias para escrever, compilar e depurar códigos em Java, voltado para desenvolvedores;
  • JRE é o ambiente de execução Java, inclui apenas os componentes necessários para rodar programas Java já compilados (JVM + bibliotecas principais), sendo suficiente para executar aplicações Java;
  • JVM é a máquina virtual Java, responsável por traduzir o bytecode Java em instruções executáveis pelo sistema operacional, sendo o componente central para a portabilidade da linguagem (códigos Java são compilados em bytecode (.class), que são interpretados pela JVM correspondente ao sistema operacional).
┌─────────────────────────────────────┐
│               JDK                   │
│  ┌─────────────────────────────┐    │
│  │            JRE              │    │
│  │  ┌─────────────────────┐    │    │
│  │  │        JVM          │    │    │
│  │  └─────────────────────┘    │    │
│  │  (bibliotecas principais + arquivos do sistema) │    │
│  └─────────────────────────────┘    │
│  (ferramentas como javac, jar, javadoc)  │
└─────────────────────────────────────┘


2.2 Instalação do Maven + configuração do espelho da Alibaba Cloud (otimização essencial)

# 1. Download do Maven 3.9.6 (compatível com JDK 11)
cd /root
wget https://archive.apache.org/dist/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz

# 2. Extração e renomeação
[root@zrlog ~]# tar -zxf apache-maven-3.9.14-bin.tar.gz
[root@zrlog ~]# mv apache-maven-3.9.14    maven

# 3. Definição das variáveis de ambiente globais
cat > /etc/profile.d/maven.sh << 'EOF'
export MAVEN_HOME=/root/maven
export PATH=$MAVEN_HOME/bin:$PATH
EOF
source /etc/profile.d/maven.sh
mvn -version  # Mostra a versão do Maven se bem-sucedido

[root@zrlog package]# vim /root/maven/conf/settings.xml
.....

tencentmaven
central
https://maven.aliyun.com/repository/public/

....



O arquivo pom.xml (Modelo de Objeto do Projeto) é o arquivo central do projeto Maven, definindo todos os aspectos do projeto, sendo fundamental para a gestão de dependências, compilação e empacotamento (no experimento, essencial para resolver problemas de ausência de WAR e downloads de dependências).

III. Construção do WAR do ZrLog com Maven (passos principais)

3.1 Descompactação do código-fonte do ZrLog

cd /root
# Extrair em diretório específico para evitar confusão
unzip -q zrlog-3.3.0-1811fd7-release.zip -d zrlog-src
cd zrlog-src


3.2 Localização do pom.xml e execução da construção

# Entrar no diretório onde está o pom.xml (baseado na estrutura do pacote)
[root@dev ~]# find /root/zrlog-src/ -name pom.xml
/root/zrlog-src/META-INF/maven/com.hibegin/package/pom.xml
# Configurar espelho da Alibaba Cloud (resolver lentidão/falhas no download)
mv /root/zrlog-src/META-INF/maven/com.hibegin/package/pom.xml /root/zrlog-src/META-INF/maven/com.hibegin/package/pom.xml.bak

# Criar novo pom.xml independente (sem POM pai, diretamente para WAR)
cat > /root/zrlog-src/META-INF/maven/com.hibegin/package/pom.xml << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>

4.0.0

<!-- Definição manual das informações básicas do projeto (substitui o POM pai) -->
com.hibegin
zrlog-web
3.3.0
war
ZrLog Web
ZrLog Blog System

<!-- Dependências principais (substituem as do POM pai) -->

<!-- Servlet & JSP -->

javax.servlet
javax.servlet-api
4.0.1
provided


javax.servlet.jsp
jsp-api
2.2
provided

<!-- Java EE base -->

javax
javaee-api
8.0.1
provided

<!-- Driver de banco de dados (dependência crítica do ZrLog) -->

mysql
mysql-connector-java
8.0.33

<!-- Logs -->

org.slf4j
slf4j-api
1.7.36


ch.qos.logback
logback-classic
1.2.13



<!-- Configuração de build (garantir WAR funcional) -->

zrlog

<!-- Plugin de compilação (compatível com JDK11) -->

org.apache.maven.plugins
maven-compiler-plugin
3.8.1

11
11
UTF-8


<!-- Plugin de WAR (ignorar falta de web.xml) -->

org.apache.maven.plugins
maven-war-plugin
3.3.2

false
<!-- Diretório de recursos do ZrLog (importante) -->


/root/zrlog-src

WEB-INF/**/*
META-INF/**/*
**/*.jsp
**/*.html
**/*.css
**/*.js








EOF
[root@dev ~]# cd /root/zrlog-src/META-INF/maven/com.hibegin/package/

# Executar o build com Maven (-DskipTests para acelerar)
mvn clean package -DskipTests


Sinal de sucesso:

Saída do console exibe BUILD SUCCESS, e o arquivo zrlog-3.3.0.war é gerado no diretório target/.

2.3 Instalação do banco de dados / proxy reverso / contêiner de aplicação

# 1. Dependências básicas
dnf install -y wget unzip tar vim net-tools

# 2. Implantação do MariaDB
dnf install -y mariadb-server mariadb
systemctl start mariadb && systemctl enable mariadb
# Criar banco e usuário exclusivos para ZrLog
mysql -u root -e "
CREATE DATABASE zrlog DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'zrlog'@'%' IDENTIFIED BY 'zrlog123456';
GRANT ALL PRIVILEGES ON zrlog.* TO 'zrlog'@'%';
FLUSH PRIVILEGES;
"

# 3. Implantação do Nginx como proxy reverso
dnf install -y nginx
# Configuração otimizada
cat > /etc/nginx/conf.d/zrlog.conf << 'EOF'
server {
listen 80;
server_name _;
charset utf-8;
client_max_body_size 100M;
# Proxy reverso para Tomcat
location / {
proxy_pass http://127.0.0.1:8080;
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_connect_timeout 60s;
proxy_read_timeout 60s;
}
}
EOF
# Iniciar e ativar no boot
systemctl start nginx && systemctl enable nginx
nginx -t  # Verificar configuração

# 4. Implantação do Tomcat 10
cd /root
[root@dev ~]# tar -zxf apache-tomcat-10.1.52.tar.gz
[root@dev ~]# mv apache-tomcat-10.1.52 tomcat10
[root@dev ~]#

# Configuração de memória do Tomcat
cat > /root/tomcat10/bin/setenv.sh << 'EOF'
export JAVA_HOME=/root/jdk11
export CATALINA_OPTS="-Xms512m -Xmx1024m"
EOF
chmod +x /root/tomcat10/bin/*.sh


Definir estas variáveis permite que o sistema e os programas localizem diretamente ferramentas e dependências, evitando conflitos de versões ou erros de caminho.

Variável Função resumida Exemplo de uso
JAVA_HOME Indica local do JDK Inicialização do Tomcat, compilação com Maven, execução do ZrLog
PATH (JDK) Localização do comando java Execução de java -version, javac fonte.java
CLASSPATH Informa ao JVM onde estão as classes principais Compilação/execução do ZrLog
MAVEN_HOME Localização do Maven Comandos mvn carregam configurações do Maven
PATH (Maven) Localização do comando mvn Execução de mvn clean package

IV. Implantação do WAR no Tomcat

4.1 Cópia do WAR e limpeza de dados antigos

# Retornar ao diretório de build
cd /root/zrlog-src/META-INF/maven/com.hibegin/package/

# Copiar o WAR para webapps do Tomcat, renomeado como ROOT.war
cp target/zrlog.war /root/tomcat10/webapps/ROOT.war

# Limpar diretórios antigos do Tomcat (evitar conflitos)
rm -rf /root/tomcat10/webapps/ROOT


4.2 Inicialização do Tomcat e verificação

# Iniciar Tomcat
/root/tomcat10/bin/startup.sh

# Visualizar logs de inicialização (confirmar desempacotamento e falhas)
tail -f /root/tomcat10/logs/catalina.out


Sinal de sucesso:

A saída do log mostra Server startup in XXX ms e não há registros de erro.

V. Instalação e acesso via navegador

5.1 Endereço de acesso

http://192.168.223.20 (porta 80 do Nginx, sem especificar porta 8080)


5.2 Configuração do assistente de instalação (informações do banco de dados)

Campo Valor
Endereço do banco 192.168.223.20
Porta 3306
Nome do banco zrlog
Usuário zrlog
Senha zrlog123456

Após preencher, clique em "Instalar" para acessar o painel administrativo do ZrLog.

Tags: zrlog maven tomcat nginx MariaDB

Publicado em 8-15 22:18