1. 環境整備サーバ Alibaba Cloud Server 1コア + 2GB ソフトウェア このデプロイメントでは Docker が使用されるため、ソフトウェア環境は Docker 上にあります。 MySQL 8.0.x、Redis、Nginxが必要です。事前にイメージをダウンロードしてください。 2. イメージを実行するMySQLのインストール 私は MySQL のバージョン 8.0.x を使用しました。デプロイメント プロセス中にいくつかの問題が発生しました。ここでその問題を共有したいと思います。 docker 実行 \ -p 3306:3306 \ --name mysql \ --privileged=true \ --停止しない限り再起動する \ -v /home/mysql8.0.20/mysql:/etc/mysql \ -v /home/mysql8.0.20/logs:/logs \ -v /home/mysql8.0.20/data:/var/lib/mysql \ -v /home/mysql8.0.20/mysql-files:/var/lib/mysql-files \ -v /etc/localtime:/etc/localtime \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:8.0.20 \ --小文字テーブル名=1 コマンドの説明: -p ポート マッピング --privileged=true ファイルの権限設定をマウントします --restart except-stopped 起動後にコンテナーを自動的に再起動するように設定 -v /home/mysql8.0.20/mysql:/etc/mysql 構成ファイルをマウントします -v /home/mysql8.0.20/logs:/logs \ ログをマウントします -v /home/mysql8.0.20/data:/var/lib/mysql \ データ ファイルをホストに永続的にマウントします -v /home/mysql8.0.20/mysql-files:/var/lib/mysql-files MySQL8 は後でこのフォルダーを同期する必要があります -v /etc/localtime:/etc/localtime コンテナーの時間はホストと同期されます -e MYSQL_ROOT_PASSWORD=123456 パスワードを設定します -d mysql:8.0.20 バックグラウンドで開始、mysql --lower_case_table_names=1 MySQL で大文字と小文字を区別しないようにする (0: 大文字と小文字を区別する、1: 大文字と小文字を区別しない)
PS: MySQL 8.0.2 の起動時に、サーバー ('1') とデータ ディクショナリ ('0') の lower_case_table_names 設定が異なることが報告されます。 MySQL 8.0.20 をインストールした後、初期化中に my.cnf で lower_case_table_names=1 が設定され、起動時にエラーが報告されました。 次のように MySQL の公式ドキュメントを確認すると、次のような記録があります。
これは、初期化中に lower_case_table_names=1 が設定されている場合にのみ有効です。例: --initialize --小文字のテーブル名=1 見る 参考: 問題を解決するバックアップを作成し、元の MySQL コンテナを削除して、MySQL を再実行し、コマンドの最後に MySQL 8以降では、このステップは初期化中に設定する必要があります。 Redis のインストールdocker run -p 6379:6379 --name redis -v /home/redis/data/:/data -d redis:3.2 redis-server --appendonly yes コマンドの説明 -v /home/redis/data/:/data データディレクトリをマウント --appendonly yes Redisの永続性を有効にする Nginx のインストールディレクトリをマウントする必要があったので、次のコマンドを実行しました。 docker 実行 \ -d \ -p 80:80 \ --name nginx \ -v /home/nginx/conf:/etc/nginx \ -v /home/nginx/html:/usr/share/nginx/html \ -v /home/nginx/logs:/var/log/nginx \ nginx 実行してみると、常に自動終了してしまうことが分かりました。ログ情報を確認し、Baidu で検索したところ、nginx 起動時にマウントするディレクトリを先に作成しておく必要があり、そうしないと自動終了してしまうことが分かりました。 したがって、まずマウントディレクトリを作成し、コマンドを実行する必要があります。 3. パッケージプロジェクトフロントエンド
次のコマンドを実行します。 npm 実行ビルド:prod
後部
次のコマンドを実行します。 mvnクリーン mvn パッケージ
IV. 展開フロントエンド nginx を設定します。/nginx/conf/conf.d/default.conf サーバー{ 聞く 80; server_name localhost; # 場所の代わりにサーバーのIPアドレスを使用できます / { ルート /usr/share/nginx/html/dist/; インデックス index.html index.htm インデックス ログイン; try_files $uri $uri/ /index.html last; } 場所 /prod-api/ { proxy_set_header ホスト $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header リモートホスト $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:7777/; # サーバーの IP に置き換えることができます} }
場所を設定するときは、 後部 私はミラーデプロイメント方式でパッケージ化された Dockerファイル java:8より ボリューム/江 ruoyi-admin.jar app.jar を追加します エクスポーズ7777 エントリポイント ["java","-jar","app.jar"] サーバーにフォルダを作成し、そこに ruoyi-vue を実行します。
この時点では、生成されたイメージを実行するだけです docker run -d -p 7777:7777 --name nflj-vue ruoyi-vue フロントエンドとバックエンドを分離したプロジェクトのDockerデプロイメントの実装例については、これで終わりです。フロントエンドとバックエンドを分離したプロジェクトのDockerデプロイメントの関連については、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: ElementUI の el-dropdown に複数のパラメータを実装する方法
>>: Web ページでパラメータ名によって ActiveX コントロールのプロパティに値を割り当てる例
MySQLの左結合が無効であり、その使用方法今日SQLを書いていたとき、左結合を使用すると左のテーブ...
参考までに、mysql 5.7.20 / 5.7.21 をダウンロード、インストール、構成します。具...
達成すべき効果: 必要なもの1枚、2枚、3枚とスタイルが異なります。子要素の判定はjsで完結できます...
問題は次のとおりです。mysql -uroot -p コマンドを入力しましたが、パスワードを忘れてし...
GitHub が提供するコード ホスティング サービスと同様に、Docker Hub はイメージ ホ...
MGR (MySQL グループ レプリケーション) は、バージョン 5.7 で追加された新しい機能...
この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...
1. トランザクション特性(ACID) (1)原子性トランザクションに関係するプログラムによって実行...
目次ブートストラップと関連コンテンツの紹介グリッドシステムネストされた列列オフセット列の並べ替えナビ...
この記事では、フォームデータの非同期送信を実装するためのJavaScriptの具体的なコードを参考ま...
目次1. 仮想ホスト1.1 仮想ホストの概念1.2 仮想ホストタイプ2. IP仮想ホストに基づく2....
初めてこのエッセイを使ったとき、私はかなりぎこちなく感じましたhtmlファイルコードをコピーコードは...
SQL ページング クエリ:背景会社のシステムには、構成管理用のプラットフォーム、いわゆる CRUD...
序文起源は質問 1 です: umask が 022 に設定されている場合、作成するファイルのデフォル...
平行ボックスの余白 (二重余白の重なり) に関する面接の質問: 1 つのボックスに上余白があり、もう...