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

LEMPは、トラフィックの多い動的なWebサイトに電力を供給するために使用される無料のオープンソースツールのセットを含むソフトウェアスタックです。 LEMPは、Linux、Nginx(エンジンXと発音)、[MariaDB](https://cloud.tencent.com/product/tdsql?from=10680)/ [MySQL](https://cloud.tencent.com/product/cdb?from=10680)、およびPHPの頭字語です。

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

関連:

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

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

ステップ1:CentOS 8 ##でソフトウェアパッケージを更新します

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

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

CentOS8パッケージを更新します

手順2:CentOS8にNginxWebサーバーをインストールする##

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

[ linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install nginx

CentOS8にNginxをインストールします

このコードスニペットは、Nginxのインストールが問題なくスムーズに進行していることを示しています。

CentOS8にNginxをインストールします

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

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

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

システムの起動時に自動的に起動するようにNginxを構成します

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

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

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

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

nginx version: nginx/1.14.1

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

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

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

Nginxの詳細を表示

Nginxサーバーがブラウザーで実行されていることを確認するには、URLバーにシステムのIPアドレスまたはWebサイトを入力し(この記事では、下の図に示すように、例としてhttps://www.linuxidc.comを使用します)、Enterキーを押します。

「Welcometonginx onRed Hat Enterprise Linux!」Webページが表示されます。これは、NginxWebサーバーが稼働中であることを示しています。

NginxのWebページを確認してください

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

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

CentOS8にMariaDBをインストールします

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

[ linuxidc@localhost ~/www.linuxidc.com]systemctl start mariadb [ linuxidc@localhost ~/www.linuxidc.com]systemctl enable mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /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
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):

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

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

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

[ linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.17-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のバージョンを確認する

ステップ4:CentOS8にPHP7をインストールする##

最後に、最後のLEMPコンポーネント、つまり、動的Webページの開発に通常使用されるスクリプト化されたWebプログラミング言語であるPHPをインストールします。

このガイドを書いている時点で、最新バージョンはPHP7.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 module list php

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

Extra Packages for Enterprise Linux 8 – x86_64 3.3 MB/s | 5.9 MB 00:01
Remi’s Modular repository for Enterprise Linux 7.1 kB/s | 535 kB 01:15
Safe Remi’s RPM repository for Enterprise Linux 3.7 kB/s | 1.4 MB 06:27

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

CentOS-8 – AppStream

Name Stream Profiles Summary
php 7.2 [d][e] common [d], devel, minimal PHP scripting language
php 7.3 common, devel, minimal PHP scripting language
Remi’s Modular repository for Enterprise Linux 8 – x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 common [d], devel, minimal PHP scripting language

ヒント:[d]デフォルト、[e]が有効、[x]が無効、[i]がインストールされている

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

[ linuxidc@localhost ~/www.linuxidc.com]$sudo dnf module reset php

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

[ linuxidc@localhost ~/www.linuxidc.com]$sudo dnf module enable php:remi-7.4

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

[ linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install 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-filesystem-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
oniguruma-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) (built: Feb 18 2020 11:53:05) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

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

[ linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl start php-fpm

[ sudo] linuxidcパスワード:

[ linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl enable php-fpm
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.

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

[ linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl status 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行を見つけます。

user = apache
group = apache

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

user = nginx
group = nginx

PHP-FPMを構成する

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

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

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

[ sudo] linuxidcパスワード:

[ linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl restart 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

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

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

すべてがうまくいけば、実行しているPHPのバージョンに関する情報が表示され、他のインジケーターが表示されます。

これで、CentOS8にLEMPサーバースタックが正常にインストールされました。セキュリティ上の理由から、info.phpファイルを削除して、ユーザーがNginxサーバーから情報を取得できないようにすることができます。

総括する

これで、CentOS 8.1でのLEMP(Linux + Nginx + MySQL + PHP)環境の構築に関するこの記事は終わりです。関連するcentos8 linuxインストールlemp環境の構築コンテンツについては、ZaLou.Cnの以前の記事を検索するか、以下を参照してください。今後もZaLou.Cnをたくさん応援していただければ幸いです!

Recommended Posts

CentOS 8.1でLEMP(Linux + Nginx + MySQL + PHP)環境を構築する(詳細なチュートリアル)
Centos6.5でドッカー環境を構築する
CentOS8.1ビルドGitlabサーバーの詳細なチュートリアル
[PHP] CentOSでPHPオペレーティング環境を構築する
CentOS6.7ビルドLNMP環境
詳細なチュートリアルを構築するためのPython3開発環境
CentOS7のLNMP環境でDiscuzフォーラムを構築する
CentOS7のLNMP環境でDedecmsWebサイトを構築する
CentOS7ビルドLNMP環境
Centos7でJava開発用の基本的な環境を構築する
[CentOS環境の展開] CentOSでのJava7 / Java8の展開
CentOS7でOpenV **サーバーを構築する
CentOS7でOpenLDAPサーバーを構築する
vmwareインストールCentOS7詳細チュートリアル
Centos7.4環境インストールランプ-php7.0チュートリアル
CentOS7の下にMesosチュートリアルをインストールします
centOS7でのSparkのインストールと構成のチュートリアルの詳細な説明
CentOS8インストールMariaDB詳細チュートリアル
CentOS8でPXCクラスターを構築する
centos7でFTPサーバーを構築する
LinuxでNginx環境を構築する(CentOS)
centos7でのFFmpeg環境の展開記録
CentOS6.8中国語/英語環境切り替えチュートリアル図
CentosでのPPTP環境の展開記録
centos6.5でzabbix2.4をインストールするためのチュートリアル図
(1)クラスター環境を構築するためのCentos7のインストール
CentOS7.4でJDK1.8をインストールするためのグラフィカルチュートリアル
CentOS7でのJenkinsのインストールと展開のチュートリアル
Ubuntuでpython開発環境を構築する
CentOS7にMySQL8をインストールするための詳細なチュートリアル
CentOS7でScaleIO分散ストレージクラスターを構築する
CentOSでNginxサーバーをすばやく構築する方法
CentOS 6.5システムのインストールと構成のグラフィックチュートリアル(詳細なグラフィック)
Centos7によるPHPのインストールとNginxのチュートリアルの詳細
マスタースレーブDNSサーバーを構築するためのCentos7チュートリアル
CentOSでのMySQL8.0のインストールと展開、非常に詳細!
centos7.2でLAMP環境を構築する方法
CentOS6.5でのHadoop環境の構築に関する詳細な説明
centos8にnginxをインストールするための詳細なチュートリアル(グラフィック)
CentOS7ビルドジェンキンス
Centosビルドlnmp
Centos7ビルドpython3.8.5 + scrapy + gerapy
Centos7からCentos8にアップグレードするためのチュートリアル(詳細な図)
ランチャーを使用して、CentOS7でK8sクラスターを構築します
Centos8のdjangoプロジェクトにnginx + uwsgiをデプロイするためのチュートリアル
CentosでのSFTPデュアルマシン高可用性環境の展開記録
Centos7でのJDK、mysql、tomcatの環境構成
vmwareでのCentOS7ネットワーク設定チュートリアルの詳細な説明
LinuxシステムへのJDK8のインストールに関する詳細なチュートリアル(CentOS7のインストール)