序文
アップロードする前に、フロントエンドとバックエンドに分けて構築されたプロジェクトが必要です。以下は、バックエンドのプロジェクト構造図とフロントエンド ページ図です。
準備された Docker イメージを使用してサーバー上に新しいコンテナーを構成します
コンテナを作成する
ここで使用するdockerイメージのOSはubuntu20.04ですので、自分で用意する必要があります。
ポート マッピングに注意する: 通常、フロントエンド プロジェクトで使用されるポート番号は 80 ポートと 443 ポートが一般的ですが、ここでは、SSL 証明書の発行やファイリングの予定がなく、単なる記録操作であるため、ポート 443 が構成されています。ここで使用するバックエンド プロジェクト用に構成されたポートはポート 4000 です。同時に、ssh ログイン用にポート 22 へのポート マッピングを構成します。
ここでのポートマッピングは一度決定すると、後から変更するのは困難です。
次のステートメントを使用して作成します (ここで使用する 20001、4000、および 81 ポートはサーバー コンソール ファイアウォールによって解放される必要があるため、ここでは説明しません)。
docker run -p 20001:22 -p 81:80 -p 4000:4000 --name chat_server -itd docker_lesson:1.0
作成が成功したら、次のステートメントを使用して、新しいコンテナが実行されていることを確認します。
docker ps -a
次のステートメントを使用してコンテナに入り、コンテナのパスワードを設定します。
docker attach my_docker_server # 进入创建的docker容器
passwd # 设置root密码
コンテナの SSH ログインを構成する
ssh [email protected] -p 20000 # 将xxx.xxx.xxx.xxx替换成自己租的服务器的IP地址
次のステートメントを使用して、パスワードなしのログインを構成します。
ssh-copy-id host (ssh配置文件里面host值)
祖先ファイルをアップロードします (承認ユーザーのみ)
scp .bashrc .tmux.conf .vimrc Host名:
tmux をダウンロードし、ダウンロード後、祖先のファイルを使用できるようになります。
apt-get update (进行任何下载操作前都要更新一下先)
apt-get install tmux
Nginxをダウンロード
それは以下の記事にあります。
Nginx - Linux の ubuntu システムでのインストールと使用
コンテナ内の naignx サービスを終了すると、コンテナ外の nginx も終了するので注意してください。
ダウンロード後、実行すると、サーバーの IP+ポート経由で次のページにアクセスできるようになります。
mysql と jdk をインストールして構成する
mysqlをインストールする
sudo apt-get install mysql-server
MySQLサービスを開始する
sudo /etc/init.d/mysql start
sudo service mysql start
root ユーザーのパスワードを設定します。
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';
再度ログインします (プロジェクト構成ファイル内のユーザー名とパスワードはこれに対応する必要があります)
mysql -uroot -p123456
JDK をインストールします (これはバックエンド プロジェクトの JDK バージョンに対応します)
sudo apt-get install openjdk-8-jdk
データベースと対応するテーブルを準備します (ローカル デバッグとの一貫性を保つため)
このアイデアでは、右側のデータベースをクリックし、対応するテーブルを右クリックして、以下に示すテーブル作成ステートメントを取得します。
次に、コンテナ内に新しい SQL サフィックス ファイルを作成し、コピーした SQL ステートメントを保存します。
次に、内部の SQL ファイルを使用してテーブルを作成します
ここでは、まず対応するデータベースの下に作成する必要があります
source /root/create_table.sql;
バックエンドプロジェクトをアップロードして実行する
jar パッケージをパッケージ化してアップロードする
まず、最初にバックエンド プロジェクトをパッケージ化する必要があります。右側のパッケージをクリックします。
パッケージ化が完了すると、ターゲット フォルダーが追加され、その中に jar パッケージが含まれます。
git_bash 経由でコンテナにアップロードします (ssh ログインが設定されている場合)
scp backbound-0.0.1-SNAPSHOT.jar 1server_chat:
以下のコマンドを使用して、ルートディレクトリ下のjarパッケージを作成したフォルダーに転送します。
cp ~/*.jar .
jarパッケージを実行する
tmux ウィンドウを開いて jar パッケージを実行します
java -jar backbound-0.0.1-SNAPSHOT.jar
フロントエンド プロジェクトのテストをローカルで実行する
サーバーデータベースにもデータはありますが、疑問符だらけです(関係ありません)
フロントエンドプロジェクトファイルをアップロードする
フロントエンド ファイルをパッケージ化し、bulid を直接クリックすると、dist フォルダーが表示されます。
gitbash を使用して dist をサーバーの対応するフォルダーにアップロードします
scp -r dist 1server_chat:chat/web/
次に、nginx の方向を設定できます。すべては以下のブログで説明されているものと同じです。
Nginx - Linux の ubuntu システムでのインストールと使用
最後に、ip+port を使用してアクセスできます。
長年悩んでいたnginxのポート80を変更するたびに404が報告される問題は、以下の記事で解決しました。
ここで報告された 403 エラーの解決策は 2 つあり、nginx の作業ユーザーを root ユーザーに変更する方法と、Web ディレクトリにアクセス許可を与える方法が考えられますが、通常は後者が使用されます。
今回はルートディレクトリに777の権限を付与することで解決しました。
運用とメンテナンスのトラブルシューティング | nginx にアクセスすると 403 エラーが発生する - 知っておくべきこと