Exibição de catálogo
-
- Construção de cluster Nacos2.2.0
- 6. OpenResty
-
- 6.1 Baixar
- 6.2 Descompressão
- 6.3 Entrar no diretório
- 6.4 Execute o comando configure
- 6.5 Configure o arquivo nginx.conf (`o protocolo grpc deve ser configurado posteriormente`)
- 6.6 Recarregar arquivo de configuração
- 6.7 Defina o serviço para iniciar automaticamente após a inicialização:
- 6.8 Defina a inicialização para iniciar automaticamente:
- 7. Configuração relacionada ao servidor para evitar erros de conexão nacos
Preparando o ambiente
Pré-requisito de preparação do ambiente:
Instalação do JDK e configuração do ambiente, consulte
Instalação do MySQL e configuração do ambiente, consulte
Instalação do Maven e configuração do ambiente, consulte
Construção de cluster Nacos2.2.0
Ao construir um projeto, você deve corresponder um por um! ! !
版本说明:
https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
1. Baixar
novo diretório
mkdir /usr/local/nacos-cluster
entrar no diretório
cd /usr/local/nacos-cluster
Baixe
wget online https://github.com/alibaba/nacos/releases/download/2.2.0/nacos-server-2.2.0.tar.gz
2. Descompacte
Por estar na mesma máquina, um pseudo-cluster, então a porta é alterada,
(1) Descompacte e renomeie para distinguir (você também pode configurar um primeiro e depois copiar duas cópias, basta alterar a porta)
至于为啥没8848,因为集群启动报错,提示8848端口占用....
Quanto ao motivo das configurações de porta serem tão escandalosas, a questão é que a ocupação da porta de configuração oficial tem um deslocamento de 1000± e, em seguida, (principalmente porque não consigo ver qual porta está ocupada e verifiquei, mas não há. .. Metafísica, antes de definir portas seriais como 8840, 8850 e 8860. Quando comecei, relatei um monte de erros. Quase me mandei embora. Fiquei jogando por um longo tempo. Depois, realmente não me reconciliei. Acabei de executar a porta inteira e ela foi executada.)总结:不要使用连续端口
Causado
por: io.grpc.netty.shaded.io.netty.channel.unix.Errors$NativeIoException: bind(…) falhou: Endereço já em uso
tar -zxvf nacos-server-2.2.0.tar.gz
mv nacos nacos8140
(2)
tar -zxvf nacos-server-2.2.0.tar.gz
mv nacos nacos8550
(3)
tar -zxvf nacos-server-2.2.0.tar.gz
mv nacos nacos8960
3. Modifique a configuração
3.1 Modifique o caminho JDK e o tamanho de inicialização na classe de inicialização, respectivamente
vi /usr/local/nacos-cluster/nacos8140/bin/startup.sh
:set number
O número da linha pode ser exibido no estado ESC
caminho jdk de 30 linhas
55 linhas de inicialização padrão do modo de cluster
93 linhas de tamanho de inicialização, você mesmo pode modificá-lo
ESC :wq para salvar e sair
Substitua os outros dois por:
cp /usr/local/nacos-cluster/nacos8140/bin/startup.sh /usr/local/nacos-cluster/nacos8550/bin/
cp /usr/local/nacos-cluster/nacos8140/bin/startup.sh /usr/local/nacos-cluster/nacos8960/bin/
3.2 Configurar fontes de dados separadamente
vi /usr/local/nacos-cluster/nacos8140/conf/application.properties
vi /usr/local/nacos-cluster/nacos8550/conf/application.properties
vi /usr/local/nacos-cluster/nacos8960/conf/application.properties
Sobre a linha 136, altere false para true para ativar o controle de permissão de plano de fundo nacos
#Modify port
server.port=8140
#Remove o #comentário anterior (modificar endereço do banco de dados, nome de usuário do banco de dados, senha)
###Se usar MySQL como fonte de dados:
spring.datasource.platform=mysql
###Contagem de banco de dados:
db. num=1
###Connect URL of DB:
db.url.0=jdbc:mysql://192.168.20.128:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user
. 0=root
db.password.0=123456
3.3 Criar banco de dados nacos
Crie um novo script sql
nacos
de biblioteca no diretório conf correspondente , coloque-o localmente para criar um banco de dados, execute-o e importe-o para o banco de dados recém-criado Por exemplo: /usr/local/nacos-cluster/nacos8140/conf
3.4 Modifique a configuração do cluster.conf
Basta alterar o arquivo cluster.conf.example no diretório conf para o arquivo cluster.conf
e, em seguida, modificar o endereço do cluster no arquivo
3.4.1 Copie e modifique cluster.conf.example no diretório conf
cp /usr/local/nacos-cluster/nacos8140/conf/cluster.conf.example /usr/local/nacos-cluster/nacos8140/conf/cluster.conf
3.4.2 Edite o arquivo e modifique os endereços dos três hosts
vi /usr/local/nacos-cluster/nacos8140/conf/cluster.conf
ESC :wq para salvar e sair
3.4.3 Coloque-os no diretório conf dos outros dois nacos:
cp /usr/local/nacos-cluster/nacos8140/conf/cluster.conf /usr/local/nacos-cluster/nacos8550/conf
cp /usr/local/nacos-cluster/nacos8140/conf/cluster.conf /usr/local/nacos-cluster/nacos8960/conf
4. Inicie o cluster
Lembre-se de abrir a porta ou fechar o firewall diretamente:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
--zone
#Scope
--add-port=3306/tcp
# Adicione uma porta, o formato é: porta/protocolo de comunicação
--permanent
# Terá efeito permanente e falhará após reiniciar sem este parâmetro.
Verifique a porta aberta:
cat / etc/firewalld/zones/public.xml ou pare
diretamente o sistema de firewallctl pare o firewalld desative o firewall permanentemente systemctl desative o firewalld status do firewall systemctl status do firewalld
sh /usr/local/nacos-cluster/nacos8140/bin/startup.sh
sh /usr/local/nacos-cluster/nacos8550/bin/startup.sh
sh /usr/local/nacos-cluster/nacos8960/bin/startup.sh
Você pode visualizar o log de inicialização correspondente:
tail -f /usr/local/nacos-cluster/nacos8140/logs/start.out
Endereço de acesso: http://IP:port/nacos/
Por exemplo: http://192.168.20.128:8140/nacos/
Comandos relacionados
Sem cluster:
Iniciar sh startup.sh -m autônomo em uma única máquina
Modo de cluster:
use a fonte de dados interna
sh startup.sh -p incorporada
use a fonte de dados externa
sh startup.sh
5. Defina o serviço para iniciar na inicialização
5.1 Crie um roteiro:
vi nacos-cluster.sh
5.2 Adicionar conteúdo:
#!/bin/bash
case $1 in
"start" )
#echo ========= 启动nacos集群 =========
#echo ========= 启动nacos8140 =========
sh /usr/local/nacos-cluster/nacos8140/bin/startup.sh
#echo ========= 启动nacos8550=========
sh /usr/local/nacos-cluster/nacos8550/bin/startup.sh
#echo ========= 启动nacos8960 =========
sh /usr/local/nacos-cluster/nacos8960/bin/startup.sh
;;
"stop" )
#echo ========= 停止nacos集群 =========
#echo========= 停止nacos8140 =========
/usr/local/nacos-cluster/nacos8140/bin/shutdown.sh
#echo========= 停止nacos8550=========
/usr/local/nacos-cluster/nacos8550/bin/shutdown.sh
#echo ========= 停止nacos8960 =========
/usr/local/nacos-cluster/nacos8960/bin/shutdown.sh
;;
esac
5.3 Empoderamento:
chmod u+x nacos-cluster.sh
O script usa apenas comandos
para iniciar: sh nacos-cluster.sh start
para parar: sh nacos-cluster.sh stop
5.4 Inicialização automática
Prepare-se para configurar um .service e execute este arquivo de script na inicialização para obter o efeito de inicialização automática.
Diretório de script de inicialização do sistema /etc/systemd/system/
Novo arquivo de serviço
vi /etc/systemd/system/nacos-cluster.service
Adicionar conteúdo:
[Unit]
Description=nacos-cluster
After=network.target remote-fs.target nss-lookup.target mysql8.service zookeeper.service kafka.service
[Service]
Type=forking
ExecStart=sh /usr/local/nacos-cluster/nacos-cluster.sh start
ExecStop=sh /usr/local/nacos-cluster/nacos-cluster.sh stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Pressione ESC :wq para salvar e sair
Fortalecimento:
chmod 754 /etc/systemd/system/nacos-cluster.service
Configure para iniciar automaticamente:
systemctl enable nacos-cluster.service
Configuração de sobrecarga
systemctl daemon-reload
Viabilidade de script de tentativa de reinicialização (reinicialização)
Aguarde um pouco após reiniciar, nacos inicia o tempo chave
systemctl status nacos-cluster.service
6. OpenResty
Estenda a plataforma web escalável do NGINX usando Lua
Site oficial chinês: http://openresty.org/cn/
Módulos lua suportados: http://openresty.org/cn/components.html
Página de download: http://openresty.org/cn/download.html
Link para download: https://openresty.org/download/openresty-1.21.4.1.tar.gz
6.1 Baixar
cd /usr/local/
yum install -y wget
wget https://openresty.org/download/openresty-1.21.4.1.tar.gz
6.2 Descompressão
tar -zxvf openresty-1.21.4.1.tar.gz
6.3 Entrar no diretório
cd /usr/local/openresty-1.21.4.1
6.4 Execute o comando configure
Diretório de instalação padrão
--prefix=/usr/local/openresty
Ambiente Necessário:
yum -y install gcc gcc-c++ perl make kernel-headers kernel-devel
yum -y install pcre-devel
Executando uma ordem:
./configure --prefix=/usr/local/openresty --with-luajit --with-http_stub_status_module --with-pcre --with-pcre-jit --with-http_gzip_static_module --with-http_ssl_module
Executando uma ordem:
make
make install
6.5 Configurar o arquivo nginx.conf ( 后面grpc协议一定要配置
)
vi /usr/local/openresty/nginx/conf/nginx.conf
Adicionar conteúdo:
upstream nacoscluster{
server 192.168.20.128:8140;
server 192.168.20.128:8550;
server 192.168.20.128:8960;
}
server {
# post
listen 8999;
server_name localhost;
location /nacos/{
proxy_pass http://nacoscluster/nacos/;
}
}
底部新增nacos的grpc协议配置!!!
Resolva efetivamente o relatório do cluster de conexão do projeto
Causado por: com.alibaba.nacos.api.exception.NacosException: Cliente não conectado, status atual: erro STARTING
# nacos的grpc协议配置
stream {
upstream nacoscluster-grpc{
# nacos2版本,grpc端口与要比主端口多1000,主端口为8140、8550、8960
server 192.168.20.128:9140 weight=1;
server 192.168.20.128:9550 weight=1;
server 192.168.20.128:9960 weight=1;
}
server{
listen 9999;
proxy_pass nacoscluster-grpc;
}
}
ESC :wq espera e sai
cd /usr/local/openresty/nginx/sbin/
comando de início openresty:
./nginx
6.6 Recarregar arquivo de configuração
./nginx -s reload
Endereço de acesso à chamada de serviço: http://192.168.20.128:8999/nacos/
6.7 Defina o serviço para iniciar automaticamente após a inicialização:
vi /etc/systemd/system/open-resty.service
Adicionar à:
[Unit]
Description=open-resty
After=network.target remote-fs.target nss-lookup.target mysql8.service zookeeper.service kafka.service nacos-cluster.service
[Service]
Type=forking
ExecStart=/usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
ESC :wq para salvar e sair
6.8 Defina a inicialização para iniciar automaticamente:
systemctl enable open-resty.service
Registros de comando relevantes:
Desativar inicialização: systemctl desativar open-resty.service
Iniciar serviço: systemctl iniciar open-resty.service
Parar serviço: systemctl parar open-resty.service
Reiniciar serviço: systemctl restart open-resty.service
Exibir status do serviço: systemctl status open-resty.service
Ver todos os serviços iniciados: systemctl list-units --type=service
7. Configuração relacionada ao servidor para evitar erros de conexão nacos
7.1 Preparações
确保localhost和主机名对应
Evite erros de conexão nacos
Verifique o nome do host:
hostname
Você pode modificar o nome do host (lembre-se de reiniciar para entrar em vigor se você modificá-lo reboot
):
vi /etc/hostname
Modifique os hosts para corresponder ao localhost e ao nome do host
vi /etc/hosts
Adicionar à:
127.0.0.1 localhost coisini
Verifique se 127.0.0.1 é exibido normalmente
hostname -i
hostnamectl
A implantação está concluída, obrigado por ler ~
FIM