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 コントロールのプロパティに値を割り当てる例
Docker で Zookeeper を素早くインストール会社を変わってから長らくZookeeper...
最近、Vue プロジェクトについて知り、ElementUI でデータを xlsx および Excel...
MySQLユーザー権限を表示する2つの方法を紹介します1. MySQL grantsコマンドを使用す...
Linux システムでは、chmod コマンドと chown コマンドの両方を使用して権限を設定でき...
導入この記事では、django + uwsgi + nginx デプロイメントを使用して、Docke...
目次1. シナリオ2. 解決策3. 結論4. 参考文献1. シナリオ日常の開発およびテスト作業には ...
ルート ルーティング コンポーネント (アプリの下のルート ルーティング コンポーネント。子コンポー...
Jenkins+Tomcatサーバーの設定中に、Tomcat設定ファイルが変更され、サーバーのTom...
SQL とは何ですか? SQL はデータベースを操作するために使用される言語です。 SQL はすべ...
この記事の例では、カルーセルカルーセルを実装するためのJSの具体的なコードを参考までに共有しています...
最近確認された5件のデータを照会するビジネスがあります。 `id`、`title` を選択 `th_...
CSS 組み合わせセレクターには、単純なセレクターのさまざまな組み合わせが含まれます。 CSS3 に...
目次序文システム環境現在のシステムパーティションレイアウトデータのバックアップレスキューモードに入る...
1. pom.xmlに次の依存関係を追加します。 <依存関係> <groupId&...
1. 複製原理マスター サーバーはバイナリ ログ ファイルに更新を書き込み、ログのローテーションを追...