CentOS Stream 9 プラットフォームに基づいて Nacos2.0.4 クラスターと OpenResty リバース プロキシを構築する


環境の
環境
準備 前提条件の環境の準備: JDK のインストールと環境構成、 MySQL のインストールと環境構成を
参照、 Maven のインストールと環境構成を参照、


Nacos2.0.4クラスタ構築


1. ダウンロード

公式ウェブサイト Github:

新しいディレクトリ

mkdir /usr/local/nacos-cluster

ディレクトリに入る

cd /usr/local/nacos-cluster


オンラインでwgetをダウンロードhttps://github.com/alibaba/nacos/releases/download/2.0.4/nacos-server-2.0.4.tar.gz


2.解凍する

同じマシン、擬似クラスター上にあるため、ポートが変更されます。

(1) 区別するために解凍して名前を変更します (最初に 1 つを構成し、次に 2 つのコピーをコピーし、ポートを変更するだけということもできます)

至于为啥没8848,因为集群启动报错,提示8848端口占用....
なぜポート設定がこれほどとんでもないのかというと、公式設定のポート占有率には 1000± のオフセットがあり、(主にどのポートが占有されているかが見えないためですが、私が調べたときには見つかりませんでした)確認しました...これは形而上学です、8840、8850、8860 などのシリアル ポートを設定する前です。私が始めたとき、私は大量のエラーを報告しました。危うく追い出されそうになりました。私は長い間放心していました。その後、私はそうでした本当に調整されていません。ポート全体を実行したところ、実行されました。)总结:不要使用连续端口原因
: io.grpc.netty.shaded.io.netty.channel.unix.Errors$NativeIoException:bind(…) 失敗しました:アドレスはすでに使用されています

tar -zxvf nacos-server-2.0.4.tar.gz 
mv nacos nacos8140

(2)

tar -zxvf nacos-server-2.0.4.tar.gz 
mv nacos nacos8550

(3)

tar -zxvf nacos-server-2.0.4.tar.gz 
mv nacos nacos8960

ナコス


3. 構成を変更する

3.1 スタートアップクラスのJDKパスとスタートアップサイズをそれぞれ変更する

vi /usr/local/nacos-cluster/nacos8140/bin/startup.sh 

ESC状態で:set number行番号を表示可能

30行のjdkパス
jk

デフォルトのクラスター モード起動は 55 行、
デフォルト
起動サイズは 93 行、
変化
ESC :wq を変更して保存して終了できます。

他の 2 つを次のように置き換えます。

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 データソースを個別に構成する

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

6か所

#ポート
server.port=8140を
変更します #前の#コメントを削除します(データベースアドレス、データベースユーザー名、パスワードを変更します)
###MySQLをデータソースとして使用する場合:
spring.datasource.platform=mysql
###DBの数:
db。 num=1
###DB の接続 URL:
db.url.0=jdbc:mysql://192.168.20.128:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user
。 0=ルート
db.password.0=123456

3.3 nacosデータベースの作成

対応するconf ディレクトリnacos_configに新しいライブラリ
SQLスクリプトを作成し、それをローカルに配置してデータベースを作成し、実行して、新しく作成したデータベースにインポートします。例: /usr/local/nacos-cluster/nacos8140/conf

SQL
データベース

3.4cluster.conf構成の変更

conf ディレクトリ内のcluster.conf.example ファイルをcluster.conf ファイルに変更し
、ファイル内のクラスター アドレスを変更するだけです。

3.4.1 コピーと変更

cp /usr/local/nacos-cluster/nacos8140/conf/cluster.conf.example /usr/local/nacos-cluster/nacos8140/conf/cluster.conf

3.4.2 ファイルを編集して 3 つのホストのアドレスを変更する

vi /usr/local/nacos-cluster/nacos8140/conf/cluster.conf

IP構成

ESC :wq を押して保存して終了します

3.4.3 これらを他の 2 つの naco の conf ディレクトリに置きます。

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. クラスターの起動

ポートを開くか、ファイアウォールを直接閉じることを忘れないでください:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
--zone#Scope
--add-port=3306/tcp# ポートを追加します。形式は次のとおりです: ポート/通信プロトコル
--permanent# これは永続的に有効になり、このパラメータなしで再起動すると失敗します。
開いているポートを確認してください:
cat / etc/firewalld/zones/public.xml
または直接
ファイアウォールを停止します。
systemctl stop firewalld
ファイアウォールを永続的に無効にします。
systemctl disable firewalld
ファイアウォールのステータス
systemctl status 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 

対応する起動ログを表示できます。

tail -f /usr/local/nacos-cluster/nacos8140/logs/start.out 

ログ

アクセスアドレス: http://IP:port/nacos/
例: http://192.168.20.128:8140/nacos/
ノード

関連コマンド
非クラスター:
単一マシン上で sh startup.sh -m スタンドアロンを開始します。


クラスター モード:
組み込みデータ ソースを使用します。
shstartup.sh -pembedded
外部データ ソースを使用します。
shstartup.sh


5. 起動時にサービスが開始されるように設定します。

5.1 スクリプトを作成します。

vi nacos-cluster.sh

5.2 コンテンツの追加:

#!/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 権限付与:

chmod u+x nacos-cluster.sh

スクリプトはコマンドのみを使用して
開始します: sh nacos-cluster.sh 開始
から停止: sh nacos-cluster.sh stop
ストップ
起動

5.4 自動起動

.service をセットアップする準備をし、自動起動効果を実現するために起動時にこのスクリプト ファイルを実行します。
システム起動スクリプト ディレクトリ /etc/systemd/system/

新しいサービスファイル
vi /etc/systemd/system/nacos-cluster.service
コンテンツを追加します:
[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

起動

ESC :wq を押して保存して終了します

権限付与:
chmod 754 /etc/systemd/system/nacos-cluster.service
自動的に開始するように設定します。
systemctl enable nacos-cluster.service
オーバーロード構成
systemctl daemon-reload
再起動試行スクリプトの実現可能性 (再起動)

再起動後、しばらく待つとnacosがキーワールドを起動します

 systemctl status nacos-cluster.service

問題ない


6.OpenResty

Lua を使用して NGINX のスケーラブルな Web プラットフォームを拡張する

中国の公式 Web サイト: http://openresty.org/cn/
サポートされている lua モジュール: http://openresty.org/cn/components.html
ダウンロード ページ: http://openresty.org/cn/download.html
ダウンロード リンク: https://openresty.org/download/openresty-1.21.4.1.tar.gz

6.1 ダウンロード

cd /usr/local/
yum install -y wget
wget https://openresty.org/download/openresty-1.21.4.1.tar.gz

6.2 減圧

tar -zxvf openresty-1.21.4.1.tar.gz

6.3 ディレクトリの入力

cd /usr/local/openresty-1.21.4.1

6.4 設定コマンドの実行

デフォルトのインストールディレクトリ--prefix=/usr/local/openresty

必要な環境:

yum -y install gcc gcc-c++ perl make kernel-headers kernel-devel

yum -y install pcre-devel

注文の実行:

./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

コンパイル

注文の実行:

make
make install

6.5 nginx.conf ファイルの構成

vi /usr/local/openresty/nginx/conf/nginx.conf

コンテンツを追加します:

    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/;
        }
    }

構成

ESC :wq を押して終了します

cd /usr/local/openresty/nginx/sbin/

openresty 起動コマンド:

./nginx

6.6 設定ファイルのリロード

./nginx -s reload

サービスコールアクセスアドレス:http://192.168.20.128:8999 /nacos/
ロードアドレス

6.7 起動後にサービスが自動的に開始されるように設定します。

vi /etc/systemd/system/open-resty.service

追加:

[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

nginx
ESC :wq を押して保存して終了します

6.8 ブートが自動的に開始されるように設定します。

systemctl enable open-resty.service

起動する

関連するコマンド レコード:
ブートの無効化: systemctl disable open-resty.service
サービスの開始: systemctl start open-resty.service
サービスの停止: systemctl stop open-resty.service
サービスの再起動: systemctl restart open-resty.service
サービスのステータスの表示: systemctl status open-resty.service
開始されたすべてのサービスを表示します: systemctl list-units --type=service


展開が完了しました。読んでいただきありがとうございます ~
END


おすすめ

転載: blog.csdn.net/qq_44870331/article/details/129756751