ウェブサイト検索

Debian 9 Stretch に LEMP (Linux、Nginx、MariaDB、PHP-FPM) をインストールする方法


Debian は世界中の Web サーバーの大部分を支えているため、この記事では LEMP (Linux + Nginx) をインストールする方法を説明します。 + MariaDB + PHP-FPM) は、LAMP の代替として Debian 9 Stretch にスタックします (このガイドを使用してください) Debian 9 に LAMP をインストールします)。

さらに、新しいシステム管理者でも新しい Web サーバーをセットアップして動的ページをセットアップできるように、 最小限のNginx/PHP-FPM 構成を実行する方法も示します。

これを行うには、ディストリビューションの公式リポジトリへの最近の更新を活用します。 Debian 9 をベアメタル、仮想マシン、または VPS にインストールしているか、Jessie からアップグレードしていることを前提としています。

Debian 9 Stretch への LEMP のインストール

なぜLEMPスタックの一部としてPHPではなくPHP-FPMについて言及したのか疑問に思われるかもしれません。他の Web サーバーとは異なり、NginxPHP のネイティブ サポートを提供しません。

そのため、PHP ページのリクエストを処理するために PHP-FPM (高速プロセス マネージャー) が使用されます。 PHP-FPM について詳しくは、PHP 公式サイトをご覧ください。

Debian リポジトリ php7.0-fpm で提供されるデフォルト バージョン。パッケージ名から推測できると思いますが、このバージョンでは PHP 7 コードを含むページへのリクエストも処理できます。

: Apache が以前に同じボックスにインストールされている場合は、続行する前に Apache が停止し、無効になっていることを確認してください。

そうは言っても、次のように LEMP スタックのコンポーネントをインストールしましょう。

aptitude update 
aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

インストールが完了したら、まずNginxPHP-FPM が実行中であり、起動時に起動できることを確認します。

systemctl status nginx php7.0-fpm

一方または両方のサービスが実行されていないことが示されている場合は、実行します。

systemctl start nginx php7.0-fpm
systemctl enable nginx php7.0-fpm

すべての MariaDB または MySQL インストールの場合と同様、mysql_secure_installation を実行して最小限のセキュリティ構成を実行し、パスワードを設定することが重要です。データベースのルートアカウント。

mysql_secure_installation

これを行う方法がわからない場合は、「Debian および Ubuntu に MariaDB 10 をインストールする方法」 のステップ #4 を参照してください。

Debian 9 で PHP-FPM を使用するように Nginx を構成する

Nginx のメイン設定ファイルは /etc/nginx/sites-available/default で、サーバー ブロック内で次の変更を行う必要があります。

  • fastcgi_pass ディレクティブがループバック NIC を指しているブロックを除き、PHP リクエストを処理する location ブロックが有効になっていることを確認します。
  • index.phpindex ディレクティブの後に追加して、見つかった場合にデフォルトで index.html または他のファイルの前に提供されるように指定します。
  • サーバーの IP アドレスまたはホスト名を指す server_name ディレクティブを追加します。この場合、これは192.168.0.35になります。
  • さらに、root ディレクティブが .php ファイルが保存される場所 (デフォルトでは /var/www/html) を指していることを確認してください。 。

完了したら、次のコマンドを使用して構成ファイルにエラーがないかテストできます。

nginx -t 

この時点で、/etc/nginx/sites-available/default は次のようになります。ここで、数字は上記のリストを表す構成を指します。

grep -Ev '#' /etc/nginx/sites-available/default

Debian 9 での Nginx と PHP-FPM のテスト

Web サーバーとして Nginx を使用していることを確認するには、/var/www/html 内に info.php という名前のファイルを作成しましょう。以下の内容:

<?php
	phpinfo();
?>

次に、http://192.168.0.35/info.php にアクセスし、ページの上部に次の情報が表示されることを確認してください。

最後に、「Debian 9 に LAMP (Linux、Apache、MariaDB、または MySQL と PHP) スタックをインストールする」で作成した booksandauthors.php ファイルをブラウザで参照しましょう。

次の画像からわかるように、このファイルは現在 Nginx によって提供されています。

: Nginx が .php ファイルを実行せずにダウンロードとして提供していることに気付いた場合は、ブラウザのキャッシュをクリアするか、別のブラウザを試してください。 。特に Chrome を使用している場合は、シークレット モードでテストすることをお勧めします。

まとめ

この記事では、動的な .php ページを提供するために Nginx をインストールして構成する方法を説明しました。この初期セットアップの後に、Web サーバーを保護するために考慮する必要がある設定があることに注意することが重要です。

基本的な概要は、「Nginx Web サーバーのセキュリティを確保、強化し、パフォーマンスを向上させる究極のガイド」に記載されています。

Nginx での仮想ホスティングをお探しの場合は、「NGINX で名前ベースおよび IP ベースの仮想ホストをセットアップする方法」をお読みください。

いつものように、この記事に関してご質問やコメントがございましたら、お気軽にお知らせください。