CentOS 7にGraylogサーバーをインストールする方法
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
このチュートリアルでは、Node.jsを利用して、Koa.js Webアプリケーションを本番用に設定する方法を学習します。また、Apacheを使用して、リバースプロキシを使用してサンプルドメインをリンクし、適切なプロセスマネージャーでそれを管理する方法を学びます。さっそく始めましょう。
Node.jsは、ChromeのV8エンジンに基づく高速なクロスプラットフォームJavaScriptフレームワークです。デスクトップアプリケーションとサーバーアプリケーションの両方で使用され、シングルスレッドのイベントループ処理で有名です。Node.jsは、50万以上のパッケージをホストするNode Package Manager(NPM)と呼ばれるパッケージレジストリを備えています。NPMパッケージ(またはモジュール)は、Node.jsアプリケーションで役立つコミュニティ主導のコードであるため、Node.jsのコアバックボーンです。私たちのKoa.jsアプリでは、Node.jsがその機能の中核です。
Koa.jsは、Node.jsプラットフォーム上に構築された最小限のWebフレームワークです。人気のあるExpress.jsフレームワークの背後にある同じチームによって作成されたその目標は、ミドルウェアをコアから除外することにより、すでに最小限のExpress.jsフレームワークをさらに最小限に抑えることです。Koa.jsの主な機能は、コールバックがないことです。Koa.jsは、ES6ベースのジェネレーターとPromisesなどのES6機能に基づいて構築されています。
Apacheは人気のあるオープンソースのWebサーバーであり、Webサーバーの非常に基本的な出発点として使用されます。このチュートリアルでは、アプリケーションをサンプルドメインにリンクできるリバースプロキシとしてApacheを使用します。ドメインがない場合でも、このチュートリアルは機能します。唯一の違いは、WebサイトがドメインではなくVPS IPで実行されることです。
Node.jsフレームワークと同様に、VPSにNode.jsをインストールする必要があります。このチュートリアルでは、システムにNode.jsがすでにインストールされているものとします。そうでない場合は、こちらの手順に従ってください。
アプリケーションのコアファイルを含むフォルダーを作成する必要があります。
mkdir site
site
ディレクトリに任意の名前に置き換えてかまいません。次に、Node.jsパッケージファイルを初期化する必要があります。作成したディレクトリに移動してを実行npm init
し、プロンプトを完了します。最終的には、次のようになります。
{
"name": "site",
"version": "1.0.0",
"description": "Koa.js Site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yourname",
"license": "ISC"
}
これでディレクトリが設定されたので、Koa.jsのインストールに進むことができます。現在の作業ディレクトリで/site
、次のように入力します。
npm install koa
これにより、NPMからKoa.jsモジュールがダウンロードされ、将来使用するためにプロジェクトディレクトリにインストールされます。次に、アプリのコードを保持するサンプルアプリケーションファイルを作成します。これを行うには、index.js
ファイルを作成します。
nano index.js
ファイルに入ったら、サンプルアプリケーションを作成します。
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
console.log('Website is live!')
ファイルを保存して閉じます。CTRL+ X。
アプリケーションが適切に実行されることを確認します。起動するには、を実行するnode index.js
とWebsite is live
、コンソールに表示されます。
Webサイトが機能していることがわかったので、Apacheとその依存関係のインストールに進むことができます。
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
Apacheにあるリバースプロキシ機能を使用するには、必要なモジュールを有効にする必要があります。
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
これらのモジュールの一部は既に有効になっている可能性がありますが、常に再確認することをお勧めします。
次に、Apacheのデフォルト設定ファイルを編集する必要があります。
sudo nano /etc/apache2/sites-enabled/000-default.conf
ここでは、アプリケーションのブロックを追加する必要があります。
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000
ServerName localhost
</VirtualHost>
ファイルを保存しますCTRL+ X。
3000
私たちがIP ProxyPass
とProxyPassReverse
IPのポートとしてポートを使用していることに気付くでしょう。これは、Koa.jsアプリケーションを実行しているのと同じポートであるため、正しいポートを入力する必要があります。
変更を加えたら、Apacheを再起動してKoa.jsアプリケーションを再起動する必要があります。
sudo systemctl restart apache2
これにより、Koa.jsアプリケーションを起動したときに、構成ファイルがアクティブになり、動作するようになります。Apacheが再起動したら、サイトディレクトリに戻り、以前と同じようにKoa.jsアプリケーションを起動します。Webブラウザーからhttp://yourdomain
、またはに移動すると、http://yourip:
「Hello World」が表示されます。
サンプルのKoa.jsアプリケーションを作成するための基本を説明したので、実稼働環境では、現在のようにアプリケーションを開始することは非現実的であることがわかります。プロセスマネージャーは間違いなく要件です。そこでsystemdが登場します。簡単に言うと、systemdはLinuxシステムのビルディングブロックを提供するソフトウェアで構成されています。「init」と同様に、システム起動後にユーザープロセスを管理するシステムを提供します。アプリケーションの場合、systemdを使用すると、システムのアップタイムを妨害するイベントが発生した場合に、システムの再起動後に自動的にWebサイトを起動できます。また、アプリケーションの管理に役立つ一連のツールも提供します。一番のメリットは、Ubuntu 16.04 LTSに組み込まれているため、追加のソフトウェアをインストールする必要がないことです。
アプリケーションを起動するために必要なものはすべて、というファイルに含まれていますservice
。名前、ディレクトリ、環境など、アプリに関する詳細を保持します。システムファイルを作成するには、テキストエディターを開きます。
sudo nano /lib/systemd/system/site.service
このようにファイルを編集して保存します。
[Unit]
Description=desc here
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=youruser
ExecStart=/usr/bin/node /home/[youruser]/site/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
をyouruser
サーバーのユーザー名に置き換えます。重要なフィールドを簡単に説明します。
After
-これは、アプリケーションを開始する前に、ネットワークインターフェースの準備ができるまで待機するようにsystemdに通知します。Environment
-ここで、アプリケーションの環境変数を指定できます。Node.jsへの移植はその1つです。Type
-これはsystemdに、ユーザー権限などをフォークすることなく、アプリを起動できることを通知します。User
-これはsystemdに、推奨されるユーザーアカウントでアプリケーションを実行することを伝えます。rootユーザーとしてアプリケーションを実行すると、多くのセキュリティ侵害が発生する可能性があります。ExecStart
-本質的に、以前に手動で開始した方法と同様に、systemdがアプリケーションを開始するために実行するコマンド。Restart
-アプリケーションを再起動する条件をsystemdに指示します。この場合、エラーが発生した場合にウェブサイトを再起動する必要があります。systemdサービスを開始する準備が整いました。
sudo systemctl daemon-reload
これは、systemdが新しい変更を登録するためにsystemdサービスファイルが変更されるたびに必要です。
次に、アプリケーションを起動します。
sudo systemctl start site
もう一度ブラウザでサイトに移動し、すべてが機能していることを確認します。
stop
-アプリケーションを完全に停止します。restart
-アプリケーションを停止し、新しいプロセスで再起動します。enable
-コンピューターを起動するたびにsystemdにアプリケーションを起動するように指示します。status
-稼働時間、アプリケーションの状態など、現在実行中のアプリケーションに関する情報を表示します。これらの関数を使用するには、次を実行します。
systemctl <function> site
Koa.jsアプリケーションを正常にセットアップし、それをリバースプロキシする方法と、systemdで管理する方法を学びました。これで、アプリケーションを拡張し、この例を基に構築する準備ができました。Koa.jsの詳細、および実行できることの詳細については、それぞれのWebサイトにアクセスして、より役立つ情報を入手してください。それに加えて、systemdのプロセスマネージャーの詳細については、こちらのドキュメントをご覧ください。最後に、Apacheのリバースプロキシについてさらに詳しく知りたい場合は、こちらからお気軽にチェックしてください。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。