CentOS 8.1 で LEMP (Linux+Nginx+MySQL+PHP) 環境を構築する (チュートリアルの詳細)

CentOS 8.1 で LEMP (Linux+Nginx+MySQL+PHP) 環境を構築する (チュートリアルの詳細)

LEMP は、トラフィック量が多く動的な Web サイトを強化するために使用される無料のオープン ソース ツールのグループで構成されるソフトウェア スタックです。 LEMP は、Linux、Nginx (Engine X と発音)、MariaDB/MySQL、PHP の頭字語です。

Nginx は、リバース プロキシとしても機能する、オープン ソースの強力で高性能な Web サーバーです。 MariaDB はユーザーデータを保存するために使用されるデータベース システムであり、PHP は動的な Web ページの開発とサポートに使用されるサーバー側スクリプト言語です。

関連している:

CentOS 8.1 での LAMP (Linux+Apache+MySQL+PHP) 環境の構築https://www.linuxidc.com/Linux/2020-02/162446.htm

この記事では、CentOS 8 Linux ディストリビューションに LEMP サーバーをインストールする方法を説明します。

ステップ1: CentOS 8でパッケージを更新する

まず、次の dnf コマンドを実行して、CentOS 8 Linux 上のリポジトリとパッケージを更新します。

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf 更新

CentOS 8 パッケージの更新

ステップ2: CentOS 8にNginx Webサーバーをインストールする

パッケージの更新が完了したら、簡単なコマンドを使用して Nginx をインストールします。

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf nginx をインストール

CentOS 8にNginxをインストールする

このスニペットは、Nginx のインストールが問題なくスムーズに動作したことを示しています。

CentOS 8にNginxをインストールする

インストールが完了したら、システムの起動時に Nginx が自動的に起動するように設定し、コマンドを実行して Nginx が実行されているかどうかを確認します。

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl nginx を有効にする

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl nginxを起動します

システム起動時にNginxが自動的に起動するように設定する

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl status nginx 

Nginx サービスのステータスを確認する

インストールされている Nginx のバージョンを確認するには、コマンドを実行します。

[linuxidc@localhost ~/www.linuxidc.com]$nginx -v

nginx バージョン: nginx/1.14.1

Nginxのバージョンを確認する

Nginx に興味があり、さらに詳しく知りたい場合は、次の rpm コマンドを実行してください。

[linuxidc@localhost ~/www.linuxidc.com]$rpm -qi nginx 

Nginxの詳細を見る

ブラウザを使用して Nginx サーバーが実行中であることを確認するには、URL バーにシステムの IP アドレスまたは Web サイトのアドレスを入力して Enter キーを押します。

「Red Hat Enterprise Linux 上の nginx へようこそ!」という Web ページが表示されます。これは、Nginx Web サーバーが起動して実行されていることを示します。

Nginxウェブページを確認する

ステップ3: CentOS 8にMariaDBをインストールする

MariaDB は MySQL の無料かつオープンソースのフォークであり、MySQL のより優れた代替となる最新の機能を提供します。 MariaDB をインストールするには、コマンドを実行します。

CentOS 8にMariaDBをインストールする

システム起動時に MariaDB が自動的に起動するようにするには、次を実行します。

[linuxidc@localhost ~/www.linuxidc.com]$systemctl mariadbを起動します

[linuxidc@localhost ~/www.linuxidc.com]$systemctl mariadb を有効にする

/etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service のシンボリックリンクを作成しました。

/etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service のシンボリックリンクを作成しました。

/etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service のシンボリックリンクを作成しました。

MariaDBはシステム起動時に自動的に起動します

インストールが完了したら、次のコマンドを使用してステータスを確認します。

MariaDB サービスのステータスを確認する

MariaDB データベース エンジンは安全ではなく、資格情報なしで誰でもログインできます。 MariaDB を強化して保護し、不正アクセスの可能性を最小限に抑えるには、コマンドを実行します。

[linuxidc@localhost ~/www.linuxidc.com]$mysql_secure_installation

注意: このスクリプトのすべての部分を実行することは、すべてのMariaDBで推奨されます。

本番環境で使用されているサーバーです。各ステップを注意深くお読みください。

MariaDBにログインしてセキュリティを確保するには、現在の

ルートユーザーのパスワード。MariaDBをインストールしたばかりで、

まだルートパスワードを設定していないので、パスワードは空白になります。

ここでは Enter キーを押すだけです。

ルートの現在のパスワードを入力してください (なしの場合は入力してください):

ルート パスワード (既に持っている場合) を入力するか、設定するように求められます。以降の各プロンプトに Y と答えます。

パスワードを設定したら、残りの質問に答えて匿名ユーザーを削除し、テスト データベースを削除し、リモート ルート ログインを無効にします。

すべての手順が完了したら、MariaDB サーバーにログインして、MariaDB サーバーのバージョン情報を確認できます (サーバーの保護時に指定したパスワードを入力します)。

[linuxidc@localhost ~/www.linuxidc.com]$mysql -u ルート -p

パスワードを入力してください:

MariaDB モニターへようこそ。コマンドは ; または \g で終わります。

MariaDB接続IDは8です

サーバーバージョン: 10.3.17-MariaDB MariaDB サーバー

Copyright (c) 2000、2018、Oracle、MariaDB Corporation Ab およびその他。

ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。

MariaDB [(なし)]>

MariaDBのバージョンを確認する

ステップ4: CentOS 8にPHP 7をインストールする

最後に、最後の LEMP スタック コンポーネントである PHP をインストールします。PHP は、動的な Web ページの開発によく使用されるスクリプト Web プログラミング言語です。

このガイドの執筆時点での最新バージョンは PHP 7.4 です。 Remi リポジトリを使用してインストールします。 Remi リポジトリは、CentOS ではデフォルトでは利用できない最新の最先端ソフトウェア バージョンが付属する無料のリポジトリです。

EPEL リポジトリをインストールするには、次のコマンドを実行します。

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install https://dl.Fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

次に、以下のコマンドを使用して yum utils をインストールし、remi-repository を有効にします。

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

yum-utils と Remi-packages を正常にインストールしたら、コマンドを実行してダウンロード可能な PHP モジュールを検索します。

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf モジュールリスト php

出力には、以下に示すように、利用可能な PHP モジュール、ストリーム、およびインストール構成ファイルが含まれます。

Enterprise Linux 8 用追加パッケージ - x86_64 3.3 MB/秒 | 5.9 MB 00:01

Remi の Enterprise Linux 用モジュラー リポジトリ 7.1 kB/s | 535 kB 01:15

Safe Remi の Enterprise Linux 用 RPM リポジトリ 3.7 kB/s | 1.4 MB 06:27

最後のメタデータ有効期限チェック: 0:00:03 前、2020 年 2 月 26 日水曜日 07:39:24 に実行されました。

CentOS-8 - アプリストリーム

名前ストリームプロファイルの概要

php 7.2 [d][e] 共通 [d]、開発、最小限の PHP スクリプト言語

php 7.3 共通、開発、最小限の PHP スクリプト言語

Remi の Enterprise Linux 8 向けモジュラー リポジトリ - x86_64

名前ストリームプロファイルの概要

php remi-7.2 common [d]、devel、最小限の PHP スクリプト言語

php remi-7.3 common [d]、devel、最小限の PHP スクリプト言語

php remi-7.4 common [d]、devel、最小限の PHP スクリプト言語

ヒント: [d] デフォルト、[e] 有効、[x] 無効、[i] インストール済み

出力は、現在インストールされている PHP バージョンが PHP 7.2 であることを示します。新しいバージョンの PHP 7.4 をインストールするには、PHP モジュールをリセットします。

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnfモジュールリセットphp

PHP モジュールをリセットした後、実行して PHP 7.4 モジュールを有効にします。

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnfモジュールを有効にするphp:remi-7.4

最後に、コマンドを使用して PHP、PHP-FPM (FastCGI Process Manager)、および関連する PHP モジュールをインストールします。

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf インストール php php-opcache php-gd php-curl php-mysqlnd

インストール済み:

php-7.4.3-1.el8.remi.x86_64

php-gd-7.4.3-1.el8.remi.x86_64

php-mysqlnd-7.4.3-1.el8.remi.x86_64

php-opcache-7.4.3-1.el8.remi.x86_64

nginx-ファイルシステム-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch

php-fpm-7.4.3-1.el8.remi.x86_64

php-mbstring-7.4.3-1.el8.remi.x86_64

php-sodium-7.4.3-1.el8.remi.x86_64

鬼車-6.8.2-1.el8.x86_64

libsodium-1.0.18-2.el8.x86_64

php-pdo-7.4.3-1.el8.remi.x86_64

完了!

インストールされたバージョンが動作することを確認します。

[linuxidc@localhost ~/www.linuxidc.com]$php -v

PHP 7.4.3 (cli) (ビルド: 2020 年 2 月 18 日 11:53:05) ( NTS )

著作権 (c) PHPグループ

Zend Engine v3.4.0、著作権 (c) Zend Technologies

Zend OPcache v7.4.3、著作権 (c)、Zend Technologies

完了!これで、PHP 7.4 がインストールされました。起動時に PHP-FPM を起動して有効にすることも重要です。

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl php-fpm を起動します

[sudo] linuxidcのパスワード:

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl php-fpm を有効にする

/etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service のシンボリックリンクを作成しました。

ステータスを確認するには、コマンドを実行します。

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl ステータス php-fpm

PHP-FPM ステータスを確認する

もう 1 つは、デフォルトでは、PHP-FPM は Apache ユーザーとして実行するように設定されていることです。 ただし、Nginx Web サーバーを実行しているため、Nginx ユーザーに変更する必要があります。

そこで、ファイル/etc/php-fpm.d/www.confを開きます。

[linuxidc@localhost ~/www.linuxidc.com]$sudo nano /etc/php-fpm.d/www.conf

これらの 2 行を見つけます。

ユーザー = apache

グループ = Apache

ここで、両方の値をNginxに変更します。

ユーザー = nginx

グループ = nginx

PHP-FPM を設定する

設定ファイルを保存して終了します。

次に、変更を有効にするために Nginx と PHP-FPM を再起動します。

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl nginxを再起動します

[sudo] linuxidcのパスワード:

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl php-fpmを再起動します

ステップ5: PHP情報をテストする

デフォルトでは、Nginx の Web ディレクトリ フォルダーは/usr/share/nginx/html/パスにあります。 PHP-FPM をテストするには、phpinfo ファイルを作成します。

[linuxidc@localhost ~/www.linuxidc.com]$cd /usr/share/nginx/html/
[linuxidc@localhost /usr/share/nginx/html]$su

パスワード:

[root@localhost /usr/share/nginx/html]$echo "<?php phpinfo(); ?>" > linuxidc.com.php

ファイルを保存して終了します。

ブラウザを起動し、図に示すように、URL バーに Web サーバーの IP アドレスまたは URL を入力します (この記事では、例として https://www.linuxidc.com を使用します)。

すべてがうまくいけば、実行している PHP のバージョンに関する情報とその他のメトリックが表示されます。

OK、これで完了です。CentOS 8 に LEMP サーバー スタックが正常にインストールされました。セキュリティ上の理由から、誰かが Nginx サーバーから情報を取得できないように、info.php ファイルを削除する必要がある場合があります。

要約する

CentOS 8.1 に LEMP (Linux+Nginx+MySQL+PHP) 環境を構築する方法についての記事はこれで終わりです。CentOS 8 Linux に LEMP 環境をインストールする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Centos6.6 で php7 + nginx 環境をインストールする方法
  • Centos に PHP7.4 と Nginx をインストールする方法
  • thinkPHP 5をnginxでデプロイするときにホームページにのみリダイレクトされる問題を解決する
  • thinkphp の nginx 構成と、隠し index.php エントリ ファイルを書き換える方法について簡単に説明します。
  • PHP+nginx サービス 500 502 エラーのトラブルシューティングのアイデアの詳細な説明
  • docker で php+nginx+swoole+mysql+redis 環境を構築する方法
  • nginx + php の「入力ファイルが指定されていません」の解決策
  • Nginx+php 設定ファイルと原理分析

<<:  MySQL で主キーと ROWID を使用する際の落とし穴の概要

>>:  キープアライブキャッシュをクリアする方法の詳細なグラフィック説明

推薦する

React Native APPのアップデートに関する簡単な説明

目次アプリ更新プロセス大まかなフローチャートアプリ情報の更新1. まず取得する必要があるファイルアド...

Mybatis マッパー動的プロキシの原理の分析

序文動的プロキシの原理を説明する前に、まず、mybatis を統合した後の dao 層の 2 つの実...

フォームアクションとonSubmitの例

まず、action はフォームの属性です。HTML5 では必須の属性値として定義されています。onS...

Linux で boost.python を使用して C++ 動的ライブラリを呼び出す方法

序文最近、C++ 動的ライブラリをテストするためにロボット フレームワークを使い始めました。ロボット...

nginx + php の「入力ファイルが指定されていません」の解決策

本日、ローカル開発環境で突然「入力ファイルが指定されていません」というエラーが発生してしまいました。...

Kali Linux インストール VMware ツールのインストール プロセスと VM インストール vmtools ボタン グレー

Xiaobai は vmtools のインストールを記録します。 1. 意義と機能: VMWARE ...

Linux でログインタイムアウト後に非アクティブなユーザーを自動的にログアウトする

方法1: .bashrcまたは.bash_profileファイルを変更するこれは、ホーム ディレクト...

Vue で debouce の手ぶれ補正機能を使用する方法

目次1. 手ぶれ補正機能2. Vueでdebouceの手ぶれ補正機能を使用する1. 手ぶれ補正機能2...

CSS モジュールソリューション

CSS のモジュール ソリューションは、JS のモジュール ソリューションと同じくらい多く存在すると...

vue-cli 3 で vue-bootstrap-datetimepicker 日付プラグインを使用する方法

需要背景最近、Vue を使用してフロントエンド エンジニアリング システムと組み合わせ、以前のデモを...

テーブル設定の背景画像が100%表示されない解決策

開発中に以下の状況が発見されました。 (1) ファイルが.jspファイル拡張子で保存されている場合、...

MySQLデータベースインデックスの詳細な説明

目次1. MySQLインデックスの紹介2. MySQLの5種類のインデックスの詳しい説明1. 総合索...

IE6 スペースバグ修正方法

コードを見てみましょう:コードをコピーコードは次のとおりです。 < !DOCTYPE html...

Vue3 テーブルコンポーネントの使用

目次1. Antデザインビュー1. 公式ウェブサイトアドレス2. 使い方3.電子書籍テーブルを表示す...

MySQL の int、char、varchar のパフォーマンスを比較する

インターネットには、真実のように見える「噂」がたくさんあります。もちろん、悪意のあるものではありませ...