ホームページ ウェブフロントエンド フロントエンドQ&A Ubuntuがnodejs Webサイトをデプロイ

Ubuntuがnodejs Webサイトをデプロイ

May 27, 2023 pm 10:25 PM

Ubuntu は、多くの開発者が Web アプリケーションを展開するために選択する人気のオープンソース オペレーティング システムです。人気のある Web 開発言語の 1 つは Node.js で、Web アプリケーションを構築するための高速かつ柔軟な方法を提供します。この記事では、Ubuntu オペレーティング システムに Node.js Web サイトをデプロイする方法を紹介します。

ステップ 1: Node.js をインストールする

まず、Node.js をインストールする必要があります。ターミナルで次のコマンドを入力してインストールできます:

sudo apt-get update
sudo apt-get install nodejs

ターミナルで node コマンドを実行するには、Node.js のソフト リンクもインストールする必要があります。次のコマンドを入力します。

sudo ln -s /usr/bin/nodejs /usr/bin/node

Node.js がインストールされ、正しく構成されているかどうかを確認した後、次のコマンドを使用して確認できます。

node -v

すべてが正常であれば、Node.js が表示されるはずです。 jsのバージョン番号。

ステップ 2: npm をインストールする

npm は、Web アプリケーションの依存関係を簡単に管理できる Node.js のパッケージ マネージャーです。 npm をインストールするには、ターミナルで次のコマンドを実行します:

sudo apt-get install npm

npm が正常にインストールされたことを確認するには、ターミナルで次のコマンドを入力します:

npm -v

ステップ 3: Ubuntu にノードをデプロイします。 js website

Node.js と npm がインストールされたので、次のステップは、Node.js Web サイトを Ubuntu にデプロイすることです。

最初のステップは、Node.js アプリケーションを作成することです。 Node.js アプリケーションをまだ作成していない場合は、次の手順に従って作成してください:

  1. プロジェクト フォルダーを作成し、そこに移動します:
mkdir my-node-app
cd my-node-app
  1. 新しい Node.js アプリケーションを 1 つ初期化します:
npm init

npm init コマンドを使用すると、名前、バージョン番号、説明など、アプリケーションに関するさまざまな詳細を入力できます。最後に、package.json ファイルに構成ファイルが含まれます。

  1. サーバー ファイルを作成してコードの記述を開始します:
touch server.js

server.js ファイルにコードを記述できます:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
   res.statusCode = 200;
   res.setHeader('Content-Type', 'text/plain');
   res.end('Hello World
');
});

server.listen(port, hostname, () => {
   console.log(`Server running at http://${hostname}:${port}/`);
});

ここにコード例では、HTTP サーバーを作成し、サーバー上のポート 3000 をリッスンしました。サーバーがリクエストを受信すると、ブラウザーに「Hello World」が返されます。

次に、npm を使用して、最も人気のある Node.js フレームワークの 1 つである Express をインストールする必要があります。プロジェクト ディレクトリで、次のコマンドを実行します。

npm install express --save

--save フラグにより​​、package.json ファイルに依存関係が自動的に追加されます。

Express を使用してアプリケーションを構築するには、server.js ファイルに次のコードを追加します。

const express = require('express');
const app = express();

app.get('/', (req, res) => {
   res.send('Hello World!');
});

app.listen(port, () => {
   console.log(`Server running at http://${hostname}:${port}/`);
});

この例では、app.get() メソッドを使用してルートを定義します。ルートパスが一致するのと同じであり、応答として「Hello World!」を送信します。

ステップ 4: Node.js サービスを開始する

これで、Node.js Web サイトを Ubuntu にデプロイする準備が整いました。ターミナルで、Node.js アプリケーション フォルダーに移動し、サーバーを起動します。

cd my-node-app
node server.js

これで、Web ブラウザを使用して http://localhost:3000 にアクセスできるようになり、「Hello World!」情報が表示されるはずです。 。

ステップ 5: Web サイトを運用環境にデプロイする

最後に、Node.js Web サイトを運用環境にデプロイするには、リバース プロキシ ソフトウェアを使用してノードに接続する必要があります。 jsサーバーからWebサーバーへ。この例では、Nginx を使用します。

まず、Nginx をインストールします:

sudo apt-get install nginx

次に、構成ファイル /etc/nginx/sites-available/default を開き、次の行を追加します:

server {
   listen 80;

   server_name example.com;

   location / {
       proxy_pass http://127.0.0.1:3000;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

この例では、 , サーバーの名前を example.com に設定し、127.0.0.1:3000 からのすべてのリクエストをプロキシするように Nginx を構成します。

ファイルを保存して閉じ、Nginx サービスを再起動します。

sudo service nginx restart

これで、ドメイン名を使用して Node.js Web サイトにアクセスできるようになります。

概要

この記事では、Ubuntu オペレーティング システムに Node.js Web サイトをデプロイする方法を学びました。 Node.js と npm をインストールし、Express フレームワークを使用して単純な Node.js アプリケーションを作成しました。最後に、アプリケーションを Nginx リバース プロキシに接続して、運用環境で実行できるようにします。この記事が Ubuntu への Node.js Web サイトのデプロイに役立つことを願っています。

以上がUbuntuがnodejs Webサイトをデプロイの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CSS勾配(線形勾配、放射状勾配)を使用して、豊富な背景を作成するにはどうすればよいですか? CSS勾配(線形勾配、放射状勾配)を使用して、豊富な背景を作成するにはどうすればよいですか? Jun 21, 2025 am 01:05 AM

csgradententenhancebackgroundswithdephisualappeal.1.startwithlineargradientsforsmoothcolortransitionsalongaline、specivisingdirectionandcolorstops.2.useradialients forcurareffects、調整操作denterposition..

ARIA属性は何ですか ARIA属性は何ですか Jul 02, 2025 am 01:03 AM

ariaattributesenhancewebaccessibility forusers withdisabilitivitionsividing additionalsalsalsivation-assivetechnologies.theyareneedededemodernjavascript-heavycomponentsは、ult inacsibulitive featuresiveturefillements、およびarriafillを維持することができます

小包バンドラーとは何ですか 小包バンドラーとは何ですか Jun 26, 2025 am 02:10 AM

Parcelは、箱から出てくるゼロコンフィ分のフロントエンドパッケージツールです。インテリジェントなデフォルト値を使用して、JS、CSS、画像などのリソースを自動的に処理します。 BabelまたはPostCSSの手動構成は必要ありません。開発サーバーを起動するか、生産バージョンを構築するために、エントリファイルを指定する必要があります。 React、TypeScript、SASSなどの複数の言語とリソースタイプをサポートしています。パフォーマンスを向上させるためにRustによって達成されたマルチコアコンパイルを使用し、ホットアップデート、クリアエラープロンプト、HTTPSローカル開発などの友好的な体験を提供します。構成要件が低いプロジェクトやシナリオをすばやく構築するのに適していますが、高度にカスタマイズされた要件の下でWebpackやViteほど適用されない場合があります。

反応コンポーネントをテストする方法 反応コンポーネントをテストする方法 Jun 26, 2025 am 01:23 AM

Reactコンポーネントをテストするための鍵は、適切なツールを選択し、検証のためにユーザーの動作をシミュレートすることです。 1. JestやReactTestingLibrary(RTL)などの主流ツールを使用して、ユーザーイベントとの相互作用の信頼性を向上させます。 2.単体テストを書き込むときは、レンダリングを介してコンポーネントをレンダリングし、画面を使用してノードをクエリし、結果をアサートします。 3. fireeventまたはusereventを使用して、クリック、入力、その他の操作をシミュレートして、状態の変更を確認します。 4. Snapshotテストは、静的UI構造の変化検出に適していますが、行動テストを置き換えることはできません。これらの方法は、コンポーネントの安定性と保守性を効果的に改善できます。

Redux State Managementとは何ですか Redux State Managementとは何ですか Jun 24, 2025 am 11:05 AM

Reduxは、JavaScriptアプリケーションの状態を中央に管理するために使用されるツールであり、大規模なプロジェクトのコンポーネント間の通信が頻繁であり、状態を維持するのが困難な状況に適しています。 1.単一のデータソースを提供すると、すべての状態が統一ストアに保存されます。 2。状態は読み取り専用であり、意図はアクションの説明を通じて更新されます。 3。純粋な関数還元剤を使用して、状態の変更を実行します。実際の開発では、reduxtoolkitとReact-Reduxが組み合わさって操作を簡素化することがよくありますが、すべてのプロジェクトを使用する必要はありません。グローバルな状態の乱用とレデューサーの副作用は避けるべきです。

Reactコンポーネントライフサイクルとは何ですか Reactコンポーネントライフサイクルとは何ですか Jun 24, 2025 pm 04:05 PM

Reactコンポーネントのライフサイクルは、マウント、更新、アンインストールの3つの段階に分割されます。各ステージには、対応するライフサイクルフック機能があります。 1.マウントフェーズには、状態を初期化するためのconstructor()が含まれます。Render()はJSXコンテンツを返し、componentDidMount()はデータ要求の開始またはタイマーの設定に適しています。 2。更新フェーズには、render()が含まれてUIを再レンダリングします。 ComponentDidupdate(PrevProps、Prevstate)は、状態の変更に従って新しいデータを取得するなど、副作用操作を処理するために使用されます。 3.アンインストールフェーズはcomponentwillunmount()です。これはタイマーのクリーニングに使用されます

HTTPリクエストを最小限に抑える方法 HTTPリクエストを最小限に抑える方法 Jul 02, 2025 am 01:18 AM

重要なポイントについて直接話しましょう。リソースのマージ、依存関係の削減、およびキャッシュの利用は、HTTP要求を減らすためのコア方法です。 1. CSSとJavaScriptファイルをマージし、構築ツールを通じて生産環境のファイルをマージし、開発モジュラー構造を保持します。 2。画像スプライトまたはインラインBase64画像を使用して、静的な小さなアイコンに適した画像要求の数を減らします。 3.ブラウザのキャッシュ戦略を設定し、リソースのロードをCDNで加速してリソースの読み込みを高速化し、アクセス速度を向上させ、サーバー圧力を分散させます。 4.読み込み= "lazy"または非同期ロードスクリプトの使用など、非批判的なリソースの読み込みを遅らせ、初期リクエストを削減し、ユーザーエクスペリエンスに影響を与えないように注意してください。これらの方法は、特にモバイルまたは貧弱なネットワークで、パフォーマンスの読み込みを大幅に最適化できます

フロントエンドのロギングと監視とは何ですか フロントエンドのロギングと監視とは何ですか Jun 24, 2025 pm 02:30 PM

フロントエンドでは、その動作環境が複雑で変更可能であり、問​​題を再現することは困難であるため、ログと監視が必要です。ログはすぐに問題を見つけ、エクスペリエンスを最適化できます。 1.一般的なログタイプには、エラーログ(JSエラーレポート、リソース読み込み障害)、動作ログ(ユーザー操作パス)、パフォーマンスログ(読み込み時間、FP、FCP)、カスタムログ(ビジネスポイント)が含まれます。 2.フロントエンド監視を実装する手順には、キャッチングの例外、パフォーマンスデータの収集、ログの報告、集中管理、ディスプレイが含まれ、ユーザープロセスを追跡するための一意の識別子をもたらすことをお勧めします。 3.実際に使用すると、過剰な収集、プライバシー保護、誤った凝集、およびSourceMapを組み合わせてスタック情報を解析して問題を正確に見つけることを避けるために注意を払う必要があります。

See all articles