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イベント計画タスクに関する簡単な説明

推薦する

純粋なCSSで立体的な画像配置効果を実現するサンプルコード

1. 要素の幅/高さ/パディング/マージンのパーセンテージ基準要素の幅/高さ/パディング/マージンの...

MySQL ファジークエリステートメントコレクション

SQL ファジークエリステートメント一般的なファジーステートメントの構文は次のとおりです。 SELE...

IDEA は MySQL への接続時にエラーを報告します。サーバーが無効なタイムゾーンを返します。タブに移動して serverTimezone プロパティを設定してください。

これからの道は常に困難で、棘だらけです。歯を食いしばって、乗り越えられると信じてください。さあ、さあ...

Linux md5sumコマンドの使い方

01. コマンドの概要md5sum - MD5検証コードを計算して検証するmd5sum コマンドは、...

Amap を使用した React 実装例 (react-amap)

React の PC 版は Amap を使用するようにリファクタリングされました。情報を検索したと...

Mysql のデッドロックの表示とデッドロックの除去の詳細な説明

序文しばらく前にMysqlのデッドロック問題に遭遇したので、解決しました。問題の説明: Mysql ...

Linux オペレーティング システムの概要と紹介

目次1. オペレーティングシステムとは何か2. Linuxの起源3. Linuxの基本機能4. Li...

検索ボックスと検索ボタンの境界線が重なり合わない問題を解決

今日、Baiduのページで練習していたところ、検索ボックスとボタンの余白とパディングの値が0に設定さ...

SQL GROUP BYの詳細な説明と簡単な例

GROUP BY ステートメントは、Aggregate 関数と組み合わせて使用​​され、1 つ以上の...

Dockerボリューム権限管理の詳細な説明

ボリュームデータボリュームは Docker の重要な概念です。データ ボリュームは、1 つ以上のコン...

ウェブカラーのコントラストと調和のテクニックの共有

色のコントラストと調和対照的な状況では、色の相互作用は単一の色によって与えられる感覚とは異なります。...

Vue で棒グラフを使用し、自分で設定を変更する方法

1. HTMLファイルでechartをインポートする <!-- echarts をインポート ...

MySQLは、where in()順序ソートを実装するためにfind_in_set()関数を使用します。

この記事では、MySQL で find_in_set() 関数を使用して where in() の順...

div+cssとウェブ標準ページの利点

div 要素は、HTML ドキュメント内のブロックレベル コンテンツの構造と背景を提供するために使用...

MYSQLは、ショッピングカートに追加する際に重複追加を防ぐためのサンプルコードを実装します。

序文最近、仕事の都合で、APP ショッピングカートの注文支払いに取り組んでいました。テスト中にバグが...