記事ディレクトリ
実装手順
1. 設定ファイルのアドレスを変更します。
1. MySQL 構成を変更する
MySQL アドレスを変更し、デプロイする必要があるデータ名、アカウント、パスワードを変更します。
2. Redis 構成を変更する
Redis アドレスを変更し、展開する必要がある Redis パスワードを変更します (必要な場合)。
3. ログパスと文字セット構成を変更する
logback.xmlのログの保存先アドレスを変更する
ログの文字セットをリセットします (サーバーに配置された後にログが文字化けするのを防ぐため)
2. ソースコードを圧縮してサーバーにアップロードします
1. フロントエンドファイルをアップロードする
- 完全なソース コード ファイルを事前にローカルで .zip 形式に圧縮します。
- プロジェクトのソース コードを保存するフォルダー (/workspace) をサーバー上に作成します。
- xftp ツールを使用して、パッケージ化されたフロントエンド プロジェクトのソース コードをサーバーの対応するフォルダーにアップロードします。
- コマンドを使用して
unzip ruoyi-ui.zip
プロジェクトのソース コードを解凍する - コマンドを使用して
rm -rf ruoyi-ui.zip
元の圧縮ファイルを削除します - コマンドを使用して
cd ruoyi-ui/
ソースコードフォルダーに移動します
2. バックエンド ファイルをアップロードします (上記と同じ)
3. フロントエンドプロジェクトのパッケージ化
1. 依存関係をインストールする
- コマンド cd ruoyi-ui/ を使用してソース コード フォルダーに移動します。
npm install --unsafe-perm --registry=https://registry.npm.taobao.org
フロントエンド プロジェクトの依存関係をインストールします (node.js がサーバーにインストールされている必要があります)--unsafe-perm
権限の問題を防ぐ--registry=https://registry.npm.taobao.org
タオバオのミラーソース、中国での方が速い
2. プロジェクトのパッケージ化
- コマンドを使用する
npm run build:prod
- パッケージ化が完了すると、dist ディレクトリが生成されます (デフォルトのディレクトリ名は dist)。
4. バックエンドプロジェクトのパッケージ化
1. プロジェクトのパッケージ化(jarパッケージ)
- コマンドを使用します
mvn package
(サーバーに Maven 環境をインストールする必要があります) - コマンドを使用して
cd target/
ディレクトリに入ると、準備された jar パッケージが表示されます (ここでの jar パッケージは ruoyi.jar です)。 - ターゲット ディレクトリのクリーニングによって jar パッケージが失われるのを防ぐために、jar パッケージを上位のディレクトリにコピーします。
2. プロジェクトのパッケージ化(戦争パッケージ)
-
pomファイルを変更する
-
組み込み Tomcat を除外して、外部 Tomcat にデプロイできるようにします。
-
元のスタートアップ クラスを指す新しいスタートアップ クラスを追加します。
-
変更した 2 つのファイルをサーバーにアップロードします (対応するファイルをアップロードして置き換えるだけです)。
-
コマンドを使用して
mvn clean
ディレクトリをクリーンアップする -
コマンドを使用して
mvn package
war パッケージをビルドする -
コマンドを使用して
cd target
、このディレクトリで war パッケージを見つけます。
5. フロントエンドプロジェクトをデプロイする
1. Nginx を使用してフロントエンド プロジェクトをデプロイする
-
コマンドを使用して
cd /usr/local/nginx/
nginx ディレクトリに移動します
-
Nginx 設定ファイルを変更します (conf フォルダー内の nginx.conf ファイルを変更します)。
-
場所のルートに続くパスを、パッケージ化されたフロントエンド プロジェクトのファイル アドレスに変更します。
-
権限関連の問題を防ぐには、ファイルの先頭のユーザーを root に変更します。
-
コマンドを使用して
cd sbin/
、対応するディレクトリに移動します -
コマンドを使用して
./nginx
nginxを起動します -
この時点で、対応する IP アドレスをブラウザに入力してフロントエンドにアクセスできます。
6. バックエンドプロジェクトをデプロイする
1.jarパッケージのデプロイ方法
-
対応するディレクトリ内のコマンドを使用して、
nohup java -jar ruoyi.jar &
バックエンド プロジェクトをバックグラウンドで実行します。 -
現時点では、フロントエンド プロジェクトは依然としてエラー 404 を報告する可能性があります。これは、フロントエンドとバックエンドのアドレスが関連していないためです。
-
nginx.conf ファイルでプロキシを再構成します。
-
nginx ディレクトリに移動してリロードします。
nginx/usr/local/nginx/sbin/nginx -s reload
-
現時点では、フロントエンド プロジェクトに再度アクセスしても、エラーは報告されなくなります。
-
プロジェクトのデプロイメントが完了しましたこと、おめでとうございます。
2. warパッケージの導入方法
ps -aux | grep java
現在の Java プロセスを表示するkill -9 进程号
プロセスをシャットダウンする- Tomcat フォルダーに移動します
cd /usr/local/tomcat/
- パッケージ化した war パッケージを webapps ディレクトリに配置します
cd webapps/
次に、コマンドを実行してcp /root/workspace/ruoyi/ruoyi.war ./
war パッケージを現在のディレクトリにコピーします。- 起動する
tomcatservice tomcat start
- このとき問題が発生します。IP に直接アクセスすると Tomcat のホームページが開きます。バックエンドにアクセスするには、元のアドレスの後に /ruoyi を追加する必要があります。
- この問題を解決するには、tomcat 構成を変更し、tomcat フォルダーの下の conf ディレクトリに移動して、server.xml を見つける必要があります。
- 新しい構成情報を追加して、元のアクセス方法をルート ディレクトリ アクセスに変更します。
- Tomcatを停止し
service tomcat stop
て再起動しますservice tomcat start
3. クラスターを構成する
-
nginx.confファイルを変更する
-
上記で変更したアップストリームへのプロキシ転送構成を変更します。
-
再起動
nginx/usr/local/nginx/sbin/nginx -s reload
-
ログをリアルタイムで監視して、現在どのバックエンドがアクセスされているかを確認します
tail -f 日志文件名
導入に関する考慮事項
フロントエンド ページの非ホームページ部分が更新されると、ページ 404 問題が発生します。
nginx 構成ファイルを変更し、次のコードを nginx に追加します。
location / {
……
try_files $uri $uri/ /index.html; ---解决页面刷新404问题
}
参考記事:https://www.jb51.net/article/261803.htm
デプロイバックエンドプロジェクトの開始に失敗しました
バックエンドプロジェクトのポート番号が占有されていないか確認する
netstat -anp | grep 端口号
サーバースペースを節約する
フロントエンドとバックエンドのプロジェクトのパッケージ化は両方ともローカルで完了できます。アップロード サーバーは、jar パッケージと dist フォルダーのアップロードを最小限に抑えることができます。この方法により、サーバー スペースのリソースが最も節約されます。
- バックエンド プロジェクト用の jar パッケージはそのままにしておきます
- フロントエンド プロジェクトは dist フォルダーを保持するだけで済みます