LEMPは、従来のLAMPサーバーの優れた代替手段です。 Nginxは、状況によってはApacheよりも軽量で高速です。また、リバースプロキシとして機能するなど、他の便利なことを実行するように構成することもできます。 LAMPと同様に、DebianはLEMPサーバー用の優れたプラットフォームです。必要なものはすべてDebianリポジトリで利用できるため、簡単に始めることができます。
このチュートリアルでは、次のことを学びます。
- MariaDBの設定方法
- PHPのインストール方法
- Nginxのインストール方法
- Nginxを構成する方法
- サーバーをテストする方法
Debian10のLEMPに関するPHPinfo。
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
Debian10バスター | |
Nginx、MariaDB、PHP | |
rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
MariaDBを設定する
LEMPサーバーのセットアップを開始するのに最適な場所はデータベースです。このガイドでは、MaraiDBがデータベースとして機能します。これはMySQLのドロップイン代替品であるため、MariaDBは優れたオプションです。任意のプロジェクトでMariaDBを使用する前に、MariaDBを構成する必要があります。 WordPressのようなアプリを実行するのにそれほど時間はかからないので、それほど時間はかかりません。
MariaDBのインストール
まず、MariaDBサーバーを実際にインストールします。
$ sudo apt install mariadb-server
データベースの設定
MariaDBをインストールすると、データベースをWebアプリで使用できるようになります。 MariaDBには、データベースサーバーを自動的に保護するのに役立つスクリプトがあるため、実行することから始めます。
$ sudo mysql_secure_installation
スクリプトのプロンプトに従います。求められたら、rootパスワードを設定します。デフォルトは他のすべてに適しています。
次に、mysql
を使用してMariaDBにログインします。 コマンドとroot
の指定 ユーザー。
# mysql -u root -p
プロジェクトのデータベースを作成します。
CREATE DATABASE newdb;
次に、データベースに接続して管理するユーザーを作成します。
CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';
そのユーザーがWebアプリケーションを実行できるようにするには、データベースを完全に制御する必要があります。データベースとそのテーブルに対するすべての権限を付与します。
GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost';
すべてがセットアップされ、すぐに使用できます。特権をフラッシュして、MariaDBを終了します。
FLUSH PRIVILEGES; \q
PHPのインストール
PHPはパズルの次のピースです。 DebianのPHPパッケージ全体は必要ありません。PHP-FPMだけが必要です。 MySQLモジュールと一緒にインストールします。
$ sudo apt install php-fpm php-mysql
Nginxをインストール
ほとんどすべてが整っています。 WebサーバーNginxを設定するだけです。開始するには、DebianリポジトリからシステムにNginxをインストールします。
$ sudo apt install nginx
Nginxを構成する
Nginxは強力なWebサーバーであり、豊富なオプションを提供します。それはまた、それをあなたが望むように正確に実行するために必要な多くの構成があることを意味します。このガイドでは、基本的な作業設定について説明しますが、Nginxを使用するとさらに多くのことができます。
Nginxサイトの構成は/etc/nginx/sites-available
に保存されます /etc/nginx/sites-enabled
にリンクされています 。 /etc/nginx/sites-available
にサーバーの構成用の新しいファイルを作成します 、テキストエディタで開きます。
サーバーブロックを作成して、これが新しいサイト構成であることをNginxに通知することから始めます。
server { }
残りの構成はそのブロックに入ります。次に、リッスンアドレスを追加します。これらは、ポート番号の後にサイトの重要な属性が続きます。これが唯一またはデフォルトのサイトになる場合は、default_server
を追加します ポート番号の後。
server { listen 80 default_server; listen [::]:80 default_server; }
サイトを配置するWebルートフォルダに追加します。 /var/www/html
通常のデフォルトです。続いて、Nginxにサイトのインデックスの名前(ホームページとしてよく知られています)を知らせます。
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; }
次に、サイトのドメイン名をserver_name
として追加します 。これが単なるローカルサーバーの場合は、_
を使用します ドメインの代わりに。
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; }
この次の構成ブロックは、現在のWebアドレスに一致するファイルをチェックするようにNginxに指示します。
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; location / { try_files $uri $uri/ =404; } }Debian10でのLEMPのNginx設定。
最後に、この最後のブロックは、PHPファイルをPHP-FPMに渡すようにNginxに指示します。ここで、作業の大部分が実行されます。
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; } }
完了したら、構成を保存して終了します。次に、sites-enabled
にリンクします 。
$ sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/your-site
次に、サーバーを再起動してサイトを有効にします。
$ sudo systemctl restart nginx
サーバーをテストする
サーバーが正しく機能していることを確認する最も簡単な方法は、Webルートに新しいPHPファイルを作成して、PHPコードを実行することです。 index.php
を作成します /var/www/html/
で 、テキストエディタで開きます。次のコード行をファイルに入れて保存します。
<?php phpinfo(); ?>
ブラウザを開き、サーバーに移動します。サーバーに関するPHP情報の表が表示されます。そうすれば、サーバーは正常に動作し、WordPressなどのPHPアプリケーションの準備が整います。
結論
そこから、ほぼ何でもできます。サーバー構成はそのまま残り、変更しない限り、すべてが機能し続けるはずです。同様の構成で同じNginxサーバーにさらに複数のサイトを追加することもできます。 server_name
を変更するだけです 別のドメインを指すようにします。