CentOS7.6 システムで yum を使用して lnmp 環境を構成する方法

CentOS7.6 システムで yum を使用して lnmp 環境を構成する方法

1. インストールバージョンの詳細

サーバー: MariaDB
 サーバーバージョン: 5.5.60-MariaDB MariaDB サーバー
 [root@ln-125 ~]# cat /etc/redhat-release
 CentOS Linux リリース 7.6.1810 (コア)
 [root@ln-125 ~]# nginx -v
 nginx バージョン: nginx/1.14.2
 [root@ln-125 ~]# php-fpm -v
 PHP 5.4.16 (fpm-fcgi) (ビルド: 2018 年 10 月 30 日 19:32:20)
 著作権 (c) 1997-2013 PHPグループ
 Zend Engine v2.4.0、著作権 (c) 1998-2013 Zend Technologies

2. Nginxサービスをインストールする

1. Nginxのyumソースを設定する

[root@ln-125 ~]# cat >> /etc/yum.repos.d/nginx.repo <<EOF
[nginx]
名前=nginx-リポジトリ
ベースURL=http://nginx.org/packages/centos/$releasever/$basearch/   
#releaseverはLinux CentOS 7のバージョン番号です
gpgcheck=0
有効=1
終了

2. 自動起動機能をインストールして追加する

yum すべてをクリーンアップします。
yum makecache ;
yum list nginx;
#これで nginx インストール パッケージが表示されます。
yum で nginx をインストールします。
systemctl で nginx を有効にします。
systemctl nginx を起動します

追加する必要がある追加のインストール モジュールがある場合は、現在の Nginx バージョンに応じて公式 Web サイトからソース コード パッケージをダウンロードし、現在のバージョンに応じて追加モジュールを段階的にコンパイルできます。

[root@ln-125 ~]# nginx -V
nginx バージョン: nginx/1.14.2
gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) で構築 
OpenSSL 1.0.2k-fips で構築 2017年1月26日
TLS SNIサポートが有効
引数の構成:-prefix =/etc/nginx  -  sbin-path =/usr/sbin/nginx  -  modules-path =/usr/lib64/nginx/modules =/etc/nginx/nginx.conf -error-log-path =//log/nginx/nginx/grog-httptpmtptpmtptpmtp.pthtptpmtp. -pid-path =/var/run/nginx.pid  -  lock-path =/var/run/nginx.lock  -  http-client-body-temp-path =/var/cache/nginx/client_temp  -  http-proxy-temp-path =/var/cache/nginx/nginx/nginx gi_temp -http-uwsgi-temp-path =/var/cache/nginx/uwsgi_temp  -  http-scgi-temp-path =/var/cache/nginx/scgi_temp -user = nginx -group = nginx -with-fread-with-fread-with-with-with-with-with-fread-fread-fread-fread-fread-fread-fread-fread-fread-fread-fread-fread-fread-fread ule -with-http_auth_request_module -with-http_dav_module -with-http_flv_module -with-http_gunzip_module ealip_module -with-http_secure_link_module -with-http_slice_module -with-http_ssl_module -with-http_stub_status eam -with-stream_realip_module -with-stream_ssl_module -with-stream_ssl_preread_module-with-cc-opt = '-wall -wp、-d_ortify_source = 2-fexceptions -fstack-protecter-sspfmes 4 -mtune = generic -fpic '-with-ld-opt =' -wl、-z、relro -wl、-z、now-pie '

3. 関連するPHPサービスをインストールする

現在のPHPインストールパッケージを照会する

yum list php php-fmp

なぜここにphp-fpmをインストールするのですか?

php-fpm は nginx と php の橋渡し役であるため、php-fpm (高速プロセス管理) のデフォルトのプロセスは 127.0.0.1:9000 です。php と php-fpm をインストールしたら、クライアントの php リクエストに遭遇したときに php-fpm (127.0.0.1:9000) に転送され、php-fpm が php に解析を完了させて、最終的に nginx に渡すように、nginx 構成ファイルを構成する必要があります。

1. インストール

yum インストール -y php php-fpm php-pear php-devel #httpd 

#httpd オプション、パラメータ更新 php-pear は PHP 拡張ツールです。インストール後、pecl install コマンドを使用して PHP 拡張をインストールできます。

2. PHPファイルをサポートするようにNginxを設定する

デフォルトでは、Nginx は html および htm ファイルを処理します。php をサポートするように Nginx を構成する必要があります。

vim /etc/nginx/conf.d/default.conf 
...
  位置 / {
    root /usr/share/nginx/html; #ルートディレクトリの絶対パスを設定します index index.html index.htm index.php; #php ファイルを一致させます}
  location ~ \.php$ { # 元々コメントアウトされていますが、有効化またはコピーする必要があります root /usr/share/nginx/html; # 絶対パスを設定します fastcgi_pass 127.0.0.1:9000;
    fastcgi_index インデックス.php;
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #一致するようにルートディレクトリを設定します include fastcgi_params;
  }
...

3. PHP用にUnixを設定する

Sock 通信 (この手順はスキップできます)

デフォルトの設定ファイルは、通信に 9000 ポートを使用します。負荷分散のない小規模な単一サーバーの場合は、UNIX SOCK 通信を使用して PHP の応答速度を上げることができます。

/dev/shm/php-fpm-default.sock をタッチします。
[root@ln-125 ~]# cat /etc/php-fpm.d/www.conf |grep -Ev '^;|^$'
[www.facebook.com]
リッスン = /dev/shm/php-fpm-default.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = 誰もいない
listen.group = 誰もいない
リスンモード = 0666
ユーザー = nginx
グループ = nginx
。 。 。
systemctl php-fpm.service を再起動します。
systemctl php-fpm を有効にする

4. 構成を最適化する(オプション)

A) php.iniの設定を変更する

vim /etc/php.ini 
cgi.fix_pathinfo=1 #コメントを削除し、PHP の pathinfo 疑似静的関数を有効にします。
max_execution_time = 0 #スクリプトが実行される最大時間。デフォルトでは 30 秒。 max_input_time = 300 #スクリプトが消費できる時間。デフォルトでは 60 秒。 memory_limit = 256M #スクリプトが消費する最大メモリ。必要に応じて値を変更します。デフォルトでは 128M。
post_max_size = 100M # 1 回の送信の最大データ。この項目は、アップロードされる 1 つのファイルのサイズを制限するのではなく、フォーム全体の送信データを制限します。制限範囲には、フォームから送信されたすべてのコンテンツが含まれます。たとえば、投稿を投稿する場合、投稿のタイトル、コンテンツ、添付ファイルなどが含まれます。デフォルトは8Mです。
upload_max_filesize = 10M#アップロードできるファイルの最大サイズ。デフォルトは2Mです。

B) php-fpmの設定を変更する

vim /etc/php-fpm.d/www.conf 
次の2行を見つけて、listen.owner = nobodyのコメントを解除します。 
listen.group = 誰もいない 
次の2行を見つけて、それぞれapacheをnginxに変更します。 
ユーザー = apache -> ユーザー = nginx 
グループ = apache -> グループ = nginx

4. mariadbデータベースをインストールする

yum インストール -y mariadb mariadb-server
#自動的に起動[root@ln-125 ~]# systemctl start mariadb.service
[root@ln-125 ~]# systemctl mariadb.service を有効にします
#データベース構成を初期化する mysql_secure_installation #デフォルト設定を構成する(ルートパスワードのログイン方法など)
#vim /etc/my.cnfを編集するためのデフォルトの文字セットを設定します
[root@ln-125 ~]# grep -Ev '^#|^$' /etc/my.cnf
[mysqld]
データディレクトリ=/var/lib/mysql
ソケット=/var/lib/mysql/mysql.sock
シンボリックリンク=0
character-set-server = utf8 ##デフォルトのエンコーディングを設定する [mysqld_safe]
ログエラー=/var/log/mariadb/mariadb.log
pidファイル=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d

systemctl mariadb.service を再起動します。

5. テスト

cat >> /usr/share/nginx/html/index.php << EOF
<?php 
phpinfo() をエコーし​​ます。  
?>

終了

http://{ドメイン名}
http://{ドメイン名}/index.php

テスト ページが表示されたら、ビルドが完了しました。おめでとうございます。

要約する

上記は、編集者が紹介した CentOS7.6 システムで yum を使用して lnmp 環境を構成する方法です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Centos6.5 に python3.7.1 をインストールした後に pip が使用できなくなる問題の解決方法
  • CentOS 7.3 で Nginx 仮想ホストを設定する方法
  • CentOSバージョンにDockerをインストールする際のエラーの解決方法
  • Centos7でポートを開く方法
  • Centos7のホスト名を変更する3つの方法
  • Linux CentOS でスケジュールされたバックアップ タスクを設定する方法
  • Linux CentOS インストール JDK および Tomcat チュートリアル
  • CentOS7 で Jenkins+Maven+Git 継続的インテグレーション環境を構築する方法
  • CentOS仮想マシンの時刻を変更する方法
  • CentOS 6.5 の設定 ssh キーフリーログインで pssh コマンドを実行する方法の説明

<<:  Vue-cliに基づくコードセットは複数のプロジェクトをサポートします

>>:  MySQLイベント計画タスクに関する簡単な説明

推薦する

MySQL 5.7 でルートパスワードを忘れた後に変更する方法の詳細なチュートリアル

序文長い間、MySQL のアプリケーションおよび学習環境は MySQL 5.6 以前のバージョンであ...

docker を使って sonarqube を構築する方法

目次1. Dockerをインストールする2. ソナーイメージをインストールする3. ソナーを使ってコ...

Linux デスクトップ用に Openbox を設定する方法 (推奨)

この記事は、「24 Days of Linux Desktop」の特別シリーズの一部です。 Open...

docker デプロイメントの実装手順 lnmp-wordpress

目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....

MySQL 構成 SSL マスタースレーブ レプリケーション

MySQL5.6 SSLファイルの作成方法公式ドキュメント: https://dev.mysql.c...

js 実行コンテキストとスコープの概要

目次序文文章1. JavaScriptコードの実行プロセスに関連する概念2. 実行コンテキストと実行...

CSS3で実装された水平ヘッダーメニュー

結果:実装コードhtml <nav class="dropdownmenu"...

Windows 10 1903 エラー 0xc0000135 の解決方法 [推奨]

Windows 10 1903 は、2019 年に Microsoft がリリースした Windo...

Svelte の Defer Transition を Vue で実装する方法

最近、Rich Harris の <Rethinking Reactivity> ビデオ...

Linux サーバーのステータスとパフォーマンスに関連するコマンドの詳細な説明

サーバーステータス分析Linux サーバーの CPU の詳細を表示する#CPU情報を表示[root@...

MySQL初心者はグループ化や集計クエリの煩わしさから解放されます

目次1. グループクエリの概略図2. groupbyキーワード構文の詳細な説明3. 簡単なグループク...

jQuery はテーブルのページング効果を実装します

この記事では、テーブルのページング効果を実現するためのjQueryの具体的なコードを参考までに紹介し...

JavaScript はマウスのドラッグを実装して div のサイズを調整します

この記事では、マウスをドラッグしてdivのサイズを調整するJavaScriptの具体的なコードを参考...

HTML テキストエスケープのヒント

今日、CSDN で HTML テキスト エスケープのちょっとしたトリックを見ましたが、とても簡単です...

Reactプロジェクトで画像を導入するいくつかの方法

imgタグは画像を導入しますreactは実際にはjsリーダー関数を介してページをレンダリングするため...