用語 LEMP の頭字語です Linux、 Nginx、 MariaDBまたは MySQLと PHP。 このソフトウェアのグループは、PHPで記述されたWebアプリケーションを開発およびデプロイするために使用されます。
LEMPスタックの場合-NgnixはWebサーバーとして機能し、MariaDBまたはMySQLはWebサイトのデータベースを提供し、PHPはPHPページの提供を支援し、Linuxはオペレーティングシステムを提供します。
WordPress、Joomla、Drupalなどの人気のあるCMSはLEMPスタックを使用します。 このスタックは、トラフィックが多くスケーラブルなWebサイトをホストするのに役立ちます。
このチュートリアルでは、 LEMPスタックをインストールします の上 Rocky Linux 8.4。 また、学ぶ Nginxサーバーブロックを構成する ドメインをホストします。
ステップ1:Nginxをインストールする
Nginxは、無料のオープンソースの高性能Webサーバーです。 LEMPスタックはNginxを使用してHTTPトラフィックを処理します。
まず、RockyLinuxで利用可能なすべてのパッケージを更新します。
$ sudo dnf upgrade
注:dnfupdateは非推奨のエイリアスです。
今、 Nginxをインストールします RockyLinuxで。
$ sudo dnf install nginx
Nginxがインストールされたら、Nginxサービスを開始します。
$ sudo systemctl start nginx
Nginxサービスのステータスを確認するには、次のように入力します。
$ sudo systemctl status nginx
ここで、起動時の開始時にNginxを有効にしてください。
$ sudo systemctl enable nginx
インストールされているNginxのバージョンを確認するには、次のように入力します。
$ nginx -v
出力:
nginx version: nginx/1.14.1
出力は、インストールしたことを示しています Nginx 1.14.1 バージョン。
ファイアウォールでHTTPおよびHTTPSトラフィックを許可するため(WebサーバーをSSLで暗号化する場合)。
$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https
変更を有効にするには、ファイアウォールサービスをリロードします。
$ sudo firewall-cmd --reload
現在のファイアウォール設定を一覧表示することで確認できます。
$ sudo firewall-cmd --permanent --list-all
ブラウズを開き、サーバーIPまたはドメイン名を入力して、RockyLinuxのNginxデフォルトページを表示します。 Rocky Linuxでは、デフォルトのNginxWebページは/ usr / share / nginx / htmlにあります。
ステップ2:MariaDBをインストールする
MariaDBデータベースは、OracleのMySQLのフォークです。 MariaDBは、MySQLよりもパフォーマンスが向上し、より優れたストレージエンジンを提供します。 ここでは、MariaDBをインストールして、Webサイトのデータを保存します。
に MariaDBをインストールします Rocky Linuxでは、次のように入力します。
$ sudo dnf install mariadb-server mariadb
MariaDBサービスを開始するには、次のように入力します。
$ sudo systemctl start mariadb
次に、MariaDBのステータスを確認します。
$ sudo systemctl status mariadb
MariaDBが稼働しているはずです。 システム起動時にMariaDBを有効にするには、次のように入力します
$ sudo systemctl enable mariadb
MariaDBの新規インストールは安全ではありません。 MariaDBパッケージには、データベースサーバーのセキュリティを向上させるのに役立つスクリプトがプリインストールされています。
スクリプトを開始するには、次のように入力します。
$ sudo mysql_secure_installation


MariaDBの新規インストールでは、rootパスワードが空白になっています。 このスクリプトを使用すると、新しいrootパスワードを設定したり、匿名ユーザーを削除したり、rootリモートログインを禁止したり、テストデータベースを削除したりできます。
これで、設定したルートパスワードを使用してMariaDBサーバーにログインできます。
$ sudo mysql -u root -p
出力:
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 16
Server version: 10.3.28-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]>
出力は、MariaDB 10.3バージョンをインストールし、データベース操作を管理するためのシェルを取得したことを示しています。
ステップ3:PHPをインストールする
PHPは主に、Webサーバーの動的コンテンツを生成するために使用されます。 Rocky Linux 8 AppStreamには、このチュートリアルの執筆時点でPHPバージョン7.2、7.3、および7.4が付属しています。 デフォルトのバージョンはPHP7.2です。 最新バージョンのPHPをインストールするには、無料のRemiリポジトリを有効にします。
利用可能なPHPバージョンを一覧表示するには:
$ sudo dnf module list php
出力:
Last metadata expiration check: 2:57:54 ago on Fri 06 Aug 2021 02:16:31 AM UTC.
Rocky Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
PHP 7.4モジュールを有効にするには、次のように入力します。
$ sudo dnf module enable php:7.4
Nginxには、パフォーマンスを向上させるためにPHPとWebサーバー間のインタープリターであるPHP-FPM(PHP fastCGIプロセスマネージャー)が必要です。 今、私たちはできます PHPをインストールする、 PHP-FPM、および最も一般的なPHP拡張機能。
$ sudo dnf install php php-fpm php-cli php-gd php-curl php-zip php-mbstring php-opcache php-intl php-mysqlnd
確認するには、PHPのバージョンを確認してください。
$ php -v
出力:
PHP 7.4.6 (cli) (built: May 12 2020 08:09:15) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.6, Copyright (c), by Zend Technologies
出力から、PHP7.4バージョンがインストールされていることがわかります。
PHP-FPMを使用してPHPを実行するようにNginxを構成する方法を確認しましょう。
このために、/ etc / php-fpm.d /www.confのPHP-FPM構成にいくつかの変更を加える必要があります。
PHP-FPM構成ファイルをお気に入りのエディターで開きます。
$ sudo vi /etc/php-fpm.d/www.conf
2つの変数を変更します user
と group
アパッチから nginx
。
user = nginx
group = nginx
次に、PHP-FPMを起動し、次のように入力します。
$ sudo systemctl start php-fpm
システムの再起動時にPHP-FPMを有効にし、次のように入力します。
$ sudo systemctl enable php-fpm
これで、ステータスを確認できます。次のように入力します。
$ sudo systemctl status php-fpm

最後に、Ngnixを再起動して、php-fpmによって行われた構成の変更をロードします。
$ sudo systemctl restart nginx
これで、デフォルトのwebrootディレクトリにinfo.phpスクリプトを追加することで、PHP、拡張機能、FPMを確認できます。
$ sudo vi /usr/share/nginx/html/info.php
以下のコンテンツをinfo.phpファイルに追加します。
<?php
phpinfo();
?>
Nginxを再起動して、変更を有効にします
$ sudo systemctl restart nginx
ブラウザを開き、ドメイン名またはサーバーIPにアクセスしてからinfo.phpにアクセスします。
https://server-ip-or-domain-name.com/info.php

外の世界にPHP情報を見せたくないので、確認後にphp.infoページを削除することをお勧めします。
これで、Rocky Linux8へのLEMPスタックのインストールが完了しました。Nginxサーバーブロックをホストするように構成する方法も確認しましょう。 example Webサイト。
ステップ4:RockyLinuxでNginxサーバーブロックを構成する
Nginxでは、サーバーブロックが特定のドメインの設定を定義します。 各Webサイトには、Webサイトファイルを含むドキュメントルートが必要です。 ドキュメントルートは、どこにでも作成できます。
名前の付いたWebサイトのドキュメントルートを作成します example/ var / www /の.comexample.com / public_html。
まず、ドキュメントのルートディレクトリを作成し、次のように入力します。
$ sudo mkdir -p /var/www/example.com/public_html
ドキュメントルート内にindex.htmlファイルを作成し、以下の基本的なHTMLコンテンツを追加します。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome</title>
</head>
<body>
<h1>Congrats! The example.com website is working</h1>
</body>
</html>
ドキュメントルートディレクトリとその中のすべてのファイルの所有権をNginxユーザー(www-data)に変更します。
$ sudo chown -R nginx: /var/www/example.com
次に、デフォルトで次の場所にあるNginxサーバーブロックを作成しましょう。 /etc/nginx/conf.d
ディレクトリ。 お気に入りのエディターを使用して、サーバーブロックファイルを作成します。
$ sudo vi /etc/nginx/conf.d/example.com.conf
作成したファイルに以下の内容を追加し、置換 exampleドメイン名を使用した.com。
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/public_html;
index index.html;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
}
構文エラーがないかnginx構成を確認してください。
$ sudo nginx -t
出力:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
変更を有効にするには、Nginxサービスを再起動します。
$ sudo systemctl restart nginx
ブラウザを開き、http://に移動しますexample.comで、作成したWebページを確認できます。

結論
このチュートリアルでは、Rocky Linux 8にLEMPスタックをインストールする方法を学びました。また、ドメインのNginxサーバーブロックを構成する方法も学びました。
読んでくれてありがとう、下のコメントセクションであなたの提案を教えてください。