クラウド上のプロジェクトの実戦:Javaプロジェクトをクラウドサーバーに移動するには?

1. 中小企業はプロジェクト開発完了後、どのように事業を進めるべきでしょうか?

最近、多くの小規模パートナーがバックグラウンドでのプライベート メッセージで、中小企業プロジェクトの開発が完了した後、PC 上で直接実行するかどうかをブロガーに尋ねました。答えは「ノー」です。プロのソフトウェア開発会社は、オペレーティング環境として Linux サーバーを選択します。エンタープライズ サーバーには、物理​​的なコンピューター室とクラウド サーバーの 2 種類があります。

2. 従来のコンピュータルームとクラウドサーバーのどちらを選択するか

現在、クラウドサーバーを利用している企業の割合は、従来のコンピュータルームを利用している企業の割合を大きく上回っており、その理由は次のとおりです。

  1. コンピュータ室の費用が高すぎる 数日前、ブロガー企業が地方政府機関のためにコンピュータ室を建設したところ、その費用は100万元近くかかり、一般企業がその費用を受け入れるのは難しい。
  2. 構築は難しく、顧客のさまざまなニーズに合わせて個別に設計するには、優れたネットワーク人材が必要です。
  3. 事後のメンテナンスコストが高くつきますが、ネットワークエンジニアが完成した効果が以下のようなものであれば、その後のメンテナンス方法を考えることができます。ここに画像の説明を挿入
  4. ソフトウェア運用の前提となるのはネットワークセキュリティであり、セキュリティソフトウェアの使用やソフトウェアセキュリティ人材の雇用には大きな費用がかかります。
  5. 災害復旧能力が弱く、自然災害や人災によってデータが失われた場合、その影響は予測できません。
    現在の環境では、従来のコンピューター室を使用する必要があるのは、政府や銀行などの極秘プロジェクトのみです。

3. クラウドサーバーの選び方

主要メーカーのクラウドサーバー製品の中で、ブロガーは他のクラウドサーバーと比較して次の特徴を持つHuaweiクラウドサーバーを推奨します。

3.1 安全・安心・良質なサービス

Huawei CloudのコンピュータルームのセキュリティレベルはTier 4に達しており、セキュリティに関する特別な研究開発は研究開発投資総額の5%を占めており、グローバル100以上のコンプライアンス認証に合格しており、ユーザーデータのセキュリティを完全に保護しています。同時に、ファーウェイは技術的手段を通じて顧客データを違法に取得しないこと、および顧客にデータ交換を強制しないことを約束します。さらに、HUAWEI CLOUD には 300 以上の都市に現地チームがあり、7 時間 24 時間のコンサルティングとソリューションの詳細なカスタマイズを提供します。HUAWEI CLOUDは、クラウドサーバー利用時に一連の監視・運用・保守機能を提供し、運用・監視をより便利にします。

3.2 優れた技術力、企業顧客の理解を深める

ファーウェイのエンタープライズサービスにおける30年以上の経験を継承するHUAWEI CLOUDは、エンタープライズのニーズをよりよく理解し、エンタープライズのビジネスシナリオを完全にカバーし、対応するソリューションとベストプラクティスを提供します。同時に、HUAWEI CLOUDは、研究開発への継続的な多額の投資とクラウドコンピューティングの根本テクノロジーの習得を通じて、企業のビジネスセキュリティ、高い同時実行性、急速なイノベーションなどのビジネス課題に容易に対処できます。さらに、HUAWEI CLOUD は、特定の業界におけるデータの物理的分離要件を満たす専用のリソースを提供できます。リソースは排他的であり、リソースのプリエンプションを心配する必要はありません。最小 0.5 ミリ秒は安定した低遅延で、99.9999% です。ビジネスの可用性が高くなります。

3.3 低い運用保守コスト

企業は、固定資産に投資することなく、使用量のニーズに応じてオンデマンドで支払うことができます。クラウドサーバーは柔軟で弾力性があり、構築のピークに合わせてリソースを活用できるため、トラフィックとリソースの無駄が削減されます。また、最新テクノロジーをクラウド上でいつでもオンデマンドで利用できるため、導入サイクルが大幅に短縮されます。

3.4 優れたパフォーマンス

次に、市場に流通している中小企業向けクラウドサーバー製品であるHuawei Cloud HECS(Yunyao Cloud Server)とAlibaba Cloud Shared Standard S6インスタンス(以下、ALS6)を選択して比較評価を行っていきます。 us see 実際のパフォーマンスを確認してください。
テストでは、北京にある HECS と ALS6 のコンピュータ ルームが選択され、テスト構成は両方とも 4C8G でした。具体的な構成は次のとおりです。
ここに画像の説明を挿入

3.4.1 プロセッサーとメモリーのパフォーマンス

プロセッサのパフォーマンスに関しては、5 つの連続した実行ポイントの後、シングルコア整数、シングルコア浮動小数点、マルチコア整数、およびマルチコア浮動小数点の 4 つの実行ポイントの平均を取得して、プロセッサのパフォーマンスを評価します。 HECS と ALS6 比較のため、結果は次のとおりです:
ここに画像の説明を挿入
テストを通じて、HECS メモリ パフォーマンスが ALS6 よりもはるかに優れており、安定性と信頼性が高く、メモリ パフォーマンスが優れていることがわかります。

3.4.2 ネットワークパフォーマンス

ここでは、テストマシンとスパーリングマシンがテストのテストベースとして使用されます。まず、ping 遅延テストが実行されます。具体的なテスト結果は次のとおりです。
ここに画像の説明を挿入
テストを通じて、HECS の ping テスト遅延は約 0.1 ミリ秒と低く、HECS の遅延が 0.1 ミリ秒程度であることがわかります。イントラネットとサーバー。

3.4.3 ストレージのパフォーマンス

ストレージ仕様の選択では、1000G HUAWEI CLOUD 超高 IO クラウド ハードディスクと Alibaba Cloud SSD ハードディスクを選択し、システム ディスクとしてそれぞれ HECS と ALS6 に搭載し、fio を使用してパフォーマンスをテストしました。テスト結果は次のとおりです。
ここに画像の説明を挿入
テストデータから、HUAWEI CLOUD 超高 IO クラウド ハードディスクは HECS にマウントされた後、宣言された仕様に達することができ、そのパフォーマンスは Alibaba Cloud SSD ハード ディスクよりも優れていることがわかります。ディスクであり、安定性の点でも優れています。

3.5 ダブル11クラウドは割引が多い

ダブル 11 と同時に、HUAWEI CLOUD もウェブサイトとエンタープライズ アプリケーションのクラウド シナリオの一連の複合割引を開始しました。現在から 11 月 30 日まで、すべてのシナリオが最大 10% 割引になり、5,000 元の商品券も受け取ることができます。法人ユーザーは、在庫がなくなるまで 3 年間、新しいクーポンを受け取ることもできます。1万ドルのギフトパック、ルーレット抽選、サービスサポート、付加価値の高い購入、期間限定の無料注文などの特典もあります。
ここに画像の説明を挿入

4. クラウドサーバーを使用して Java プロジェクトを公開する方法を教える

クラウド サーバーを購入した後、導入のための Linux 構文をマスターする必要があります。ブロガーによる Huawei クラウド サーバーへの導入プロセスを以下にまとめます。
このデプロイメントプロセスは、最も基本的なリリース方法であるフルテキストのフール形式チュートリアルを採用しており、コマンド入力に従うだけで、アップグレード時に docker、k8s およびその他のデプロイメント方法を自分で見つけることができます。
プロジェクトには、jdk、mysql、redis などの従来の依存関係が必要であり、プロジェクトはインストール後に実行できます。
注: ソフトウェア インストール パッケージにはネットワーク ディスク アドレスを使用することをお勧めしますが、正式なアドレスでは遅すぎます。

4.1 JDKをインストールする

4.1.1 jdk8をダウンロードする

オンラインディスクの直接リンク: https://pan.baidu.com/s/1Ip6ILZ5eU90aqNryUqwFgw
抽出コード: 8por

4.1.2 Linux へのインポート

ソフトウェアは usr/local にインストールされ、ssh ツールを使用して直接インポートできます。

4.1.3 解凍

cd /usr/local
tar -zxvf jdk-8u231-linux-x64.tar.gz

ここに画像の説明を挿入

4.1.4 環境変数の設定

vi /etc/profile

i キーを押して編集モードに切り替えます。コンテンツの最後を見つけて、画像を押して次の段落に入ります。unset i の前に入力します。

export JAVA_HOME=/usr/local/jdk1.8.0_231
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
(!!!注意:JAVA_HOME的路径是你实际解压后的JDK的路径,千万别写错了)

ここに画像の説明を挿入
Esc を押して編集モードを終了し、:wq を入力して保存して終了します。

4.1.5 環境変数の有効化

source /etc/profile

4.1.6 検証

java -version

ここに画像の説明を挿入
バージョン番号が表示されればインストール成功です。

4.1.7 その他のjdk関連コマンド

查看JDK版本:java -version
查看java执行路径:which java
查看JAVA_HOME路径:echo $JAVA_HOME
插看PATH内容:echo $PATH

4.2 mysqlデータベースのインストール

4.2.1 ダウンロード

オンラインディスクの直接リンク: https://pan.baidu.com/s/1FNijjVILpp_96nbZrFQ-iQ
抽出コード: s59l

4.2.2 減圧

新しいフォルダーを作成し、そのフォルダーを入力して解凍します。

tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

ここに画像の説明を挿入

4.2.3 移動と名前変更

mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

ここに画像の説明を挿入

4.2.4 mysql ユーザーグループとユーザーを作成し、権限を変更する

cd /usr/local/mysql
groupadd mysql
useradd -r -g mysql mysql
mkdir -p  /data/mysql              #创建目录
chown mysql:mysql -R /data/mysql   #赋予权限

ここに画像の説明を挿入

4.2.5 my.cnfの構成

vim /etc/my.cnf

構成は以下の通りです。

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
lower_case_table_names=1

4.2.6 データベースの初期化

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

ここに画像の説明を挿入
注: システムのバージョン、32 ビットのインストール パッケージと 32 ビットのバージョンが一致していることを確認してください。一致しないと、エラーが報告されます。mysqld: mysqld: バイナリ ファイルを実行できません。

4.2.7 パスワードの表示

cat /data/mysql/mysql.err

ここに画像の説明を挿入
注: 最後のパスワードを含む mysql 入力パスワードにカーソルがない場合は、直接コピーして貼り付けることもできます。

4.2.8 mysqlを起動してrootパスワードを変更する

まず、mysql.server を /etc/init.d/mysql に配置します。

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

サービスを開始します。

service mysql start
ps -ef|grep mysql

故障中。

service mysql stop

ここに画像の説明を挿入

4.2.9 以下のパスワードを変更します

まず初期パスワードにログインし、上で確認した文字列をコピーします。

./mysql -u root -p 

ここに画像の説明を挿入
無事に着陸しました。

4.2.10 パスワードの変更

SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;       

4.2.11 設定を変更し、navicat を使用して接続する

use mysql                                            #访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;   

毎回 bin ディレクトリで mysql コマンドを使用したくない場合は、次のコマンドを実行します。

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

4.3 Redisをインストールする

4.3.1 ダウンロード

公式 Web サイトにアクセスしてダウンロードします。サイズは比較的小さいため、Redis アドレスについては、Redis 公式 Web サイトを参照してください。
注: 最初に C/C++ 環境をインストールする必要があります。

yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake

ここに画像の説明を挿入

4.3.2 減圧

インストールパッケージを解凍すると、ディレクトリ配下にフォルダーが生成されます。

tar zxvf redis-5.0.0.tar.gz

ここに画像の説明を挿入

4.3.3 コンパイル

次に、解凍​​したフォルダーを入力してコンパイルします。

make

ここに画像の説明を挿入

4.3.4 構成ファイルredis.confの変更

ここで変更する部分は主に 3 つあります。次の設定はコメント化または変更する必要があります。

bind 0.0.0.0        #将该行注释
daemonize yes       #将后台运行设为yes
protected-mode yes   #将安全模式设为yes
requirepass 123456  #设置密码

ここに画像の説明を挿入

4.3.5 実行中

cd src
./redis-server  ../redis.conf

ここに画像の説明を挿入

4.3.6 検証

開始されているかどうかを確認します。

ps axu | grep redis

ここに画像の説明を挿入

4.3.7 停止

./redis-cli shutdown

4.4 jar パッケージを開始する

アイデアの mvn clean install を実行し、パッケージ化された jar パッケージを ssh 経由でサーバーに転送し、nohup java-jar パッケージ名を実行します。
ここに画像の説明を挿入

4.5 フロントエンドプロジェクトの公開方法

4.5.1 nginxのインストール

4.5.1.1 インストールの依存関係

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

ここに画像の説明を挿入

4.5.1.2 ダウンロード

nginx のダウンロード アドレスは次のとおりです。直接ダウンロードしてください。新しいバージョンを選択してください。

4.5.1.3 Linux へのコピー

nginx-1.14.2.tar.gz をダウンロードし、/usr/local/ に移動します。SSH ツールを使用して直接コピーできます。

4.5.1.4 解凍

tar -zxvf nginx-1.14.2.tar.gz

ここに画像の説明を挿入

4.5.1.5 コンパイル

##nginx ディレクトリに入る

cd nginx-1.14.2

構成。

./configure --prefix=/usr/local/nginx-1.21.4

コンパイルしてインストールします。

make
make install

ここに画像の説明を挿入

4.5.1.6 検証

インストールが成功したかどうかをテストする

./sbin/nginx -t

異常
ここに画像の説明を挿入
原因解析:nginx/ディレクトリにlogsフォルダが存在しません。
解決:

mkdir logs
chmod 777 logs

インストール成功。

4.5.1.7 nginxの起動

cd /usr/local/nginx/sbin
./nginx //启动nginx

正常に起動しました
ここに画像の説明を挿入
起動時に自動的に起動するように nginx を構成します

vim /etc/rc.d/rc.local

4.5.2 梱包

dist ファイルを生成するためのパッケージ。

yarn run build

nginx に新しい jeecg-boot フォルダーを作成し、生成された dist フォルダーをその中に置きます。
ここに画像の説明を挿入

4.5.3 設定ファイルの変更

nginx 構成ファイルを次のように変更します。ファイルの場所: /usr/local/nginx-1.14.2/conf/nginx.conf

server {
    
    
                listen       80;
                server_name  你的域名;

                #后台服务配置,配置了这个location便可以通过http://域名/jeecg-boot/xxxx 访问                
                location ^~ /jeecg-boot {
    
    
                        proxy_pass              http://127.0.0.1:8080/jeecg-boot/;
                        proxy_set_header        Host 127.0.0.1;
                        proxy_set_header        X-Real-IP $remote_addr;
                        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                }
                #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题
                location / {
    
    
                        root   html;
                        index  index.html index.htm;
                        if (!-e $request_filename) {
    
    
                                rewrite ^(.*)$ /index.html?s=$1 last;
                                break;
                        }
                }
        }

4.5.4 検証

http://ドメイン名/jeecg-boot にアクセスしてください。
ここに画像の説明を挿入
プロジェクトが正常にリリースされたことがわかります。

5. まとめ

エンタープライズ クラウドはすでにソフトウェア業界の発展トレンドとなっています。たとえば、Neusoft などの大企業はコンピュータ ルームからクラウド サーバーへの転換を完了しています。中小企業もこのトレンドに従い、従来の手法を置き換え、クラウドを採用する必要があります。総合的な方法でサーバーを統合して開発コストを削減し、顧客体験を向上させます。私たちにとって、クラウド サーバーを使用してプライベート アクティビティや個人サイトを展開することも良い選択です。Huawei Cloudサーバーは価格、品質、アフターサービスどれも素晴らしいので、ダブル11割引を利用して練習を始めましょう。

おすすめ

転載: blog.csdn.net/qq_20143059/article/details/127997497