この記事のシナリオと組み合わせて、Nginx と Java 環境 (SpringBoot プロジェクトを実行するため) をインストールする必要があります。 1.1 Linux に Nginx をインストールする方法については、私の記事 --- (ポータル) を参照してください。 1.2 この記事では、SpringBoot は Thymeleaf テンプレートを使用し、プロジェクト ポート番号は 8888 です。 1.3 jquery.jsはローカルの/Users/dalaoyang/Downloads/staticファイルに保存されます 2. 動きと静止の分離とは何ですか? 動きと静止の分離を理解する前に、まず動きとは何か、静止とは何かを理解しなければなりません。 Web 開発では、一般的に、動的リソースはバックグラウンド リソースを指し、静的リソースは HTML、JavaScript、CSS、img などのファイルを指します。 一般的に、動的リソースと静的リソースは分離する必要があり、静的リソースは Nginx 上に展開する必要があります。リクエストが来たとき、それが静的リソースのリクエストであれば、nginx によって設定された静的リソース ディレクトリからリソースを直接取得します。動的リソースのリクエストであれば、nginx はリバース プロキシの原理を使用して、リクエストをバックグラウンド アプリケーションに転送して処理することで、動的と静的の分離を実現します。 フロントエンドとバックエンドの分離を使用すると、静的リソースへのアクセス速度が大幅に向上します。同時に、開発プロセス中にフロントエンドとバックエンドの開発を並行して実行できるため、開発時間を効果的に改善し、共同デバッグ時間を短縮できます。 3. プロジェクト構成 SpringBoot アプリケーションのスタートアップ クラスを変更し、次のコードに示すように、アクセス ルート パスが index.html にジャンプできるように単純なジャンプを作成します。 @SpringBootアプリケーション @コントローラ パブリッククラスDemoApplication { パブリック静的voidメイン(String[] args) { SpringApplication.run(DemoApplication.class、引数); } @GetMapping("/") パブリック文字列インデックス(){ 「インデックス」を返します。 } } index.htmlのコードは以下のとおりです。jquery.jsが導入されていることに注意してください。参照が成功した後は、jqueryを使用してdivに値を割り当てます。コードは以下のとおりです。 <!DOCTYPE html> <!--エラーを解決する--> <html lang="ja" xmlns:th="http://www.w3.org/1999/xhtml"> <ヘッド> <メタ文字セット="UTF-8"> <title>タイムリーフ</title> </head> <script type="text/javascript" src="jquery.js"></script> <本文> <h1>これは静的ページです</h1> <div id="test_div"></div> </本文> <script type="text/javascript"> $('#test_div').html('jquery.js が正常に参照されました'); </スクリプト> </html> プロジェクト構造を以下に示します。jquery.js がないことがわかります。Nginx を使用して jquery.js にアクセスするだけです。 4. Nginxの設定 以下に示すように、nginx.conf 構成を変更します。最初の場所はバックグラウンド リクエストの処理を担当し、2 番目の場所は静的リソースの処理を担当します。 ワーカープロセス 1; イベント { ワーカー接続 1024; } http { サーバー{ 10000を聴く; server_name ローカルホスト; #バックグラウンドリクエストの場所を傍受 / { proxy_pass http://localhost:8888; proxy_set_header X-Real-IP $remote_addr; } #静的リソースの場所をインターセプトする ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ { ルート /Users/dalaoyang/Downloads/static; } } } 5. テスト SpringBoot アプリケーションを起動し、Nginx を起動します。 ブラウザで http://localhost:10000/ にアクセスすると、次の図が表示されます。 図の赤いボックスの内容は、静的リソースが正常に参照されていることを示しています。 6. まとめ 最近nginxについて読んでいます。今後もnginx関連の記事を更新していきますので、ご興味がありましたら引き続きご注目ください。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: React antd タブの切り替えによりサブコンポーネントが繰り返し更新される
>>: MacにMySQLをインストールするときに初期パスワードを忘れた場合の対処方法
問題: MySQLテーブル内の自動増分IDのオーバーフローによりビジネスブロックが発生した背景: t...
<br />ブラウザが次世代のXHTMLを処理できるようになる前に、このよりリッチなコン...
cellspacing は表内のセル間の距離です。セルパディングは、表のセル内の空白スペースです。一...
dig - DNS ルックアップ ユーティリティドメイン名のアクセス障害が発生した場合、ドメイン名の...
目次1. MHAの紹介1. MHAとは何ですか? 2. MHAの構成3. MHAの特徴2. MySQ...
目次スロークエリの基礎: データ取得の最適化データベースから不要なデータが要求されていないか確認する...
新しいコンピューターに変更したので、すべての環境を新しいコンピューター上で設定する必要があります。ふ...
序文:ジュニアプログラマーとして、私は自分自身の個人ウェブサイトを構築し、それを他の人に見せることを...
0. 背景ハードウェア: Xiaomi Notebook Air 13/Inter Core i7-...
⑴ 内容によって形式が決まります。まず内容を充実させ、次にブロックに分割し、トーンを決め、最後に細部...
vim の動作モードを設定する (一時的) :set (モード情報) :set nu — 行番号を表...
この記事では、CSS で記事の区切り線を実装するさまざまな方法をまとめています。区切り線はページを美...
コンテナを通じてローカル パブリック IP アドレスを取得します。ローカル IP アドレスを使用して...
目次ベース戻り値の型文字列とブール値数値とbigintシンボル未定義関数物体他のよくある質問参照エラ...
JavaScript は現在、毎年新しいバージョンがリリースされており、より便利で効率的な新しい演算...