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

推薦する

登録フォームのデザインルール

随分前に「Patterns for Sign Up & Ramp Up」を読み終えました。今...

Vueはログイン時に画像認証コードを実装します

この記事では、Vueログイン用画像認証コードの具体的なコードを例として紹介します。具体的な内容は以下...

Linux環境でタイムゾーンを設定できない問題を解決

Linuxでタイムゾーンを変更する場合、常に変更することはできませんAsia/Shanghai に変...

ElementUIはドロップダウンオプションと複数選択ボックスのサンプルコードを実装します

目次ドロップダウン複数選択ボックスアップグレード - すべてのオプションを追加改訂と改善を求める製品...

Zookeeper 不正アクセス テストの問題

目次序文Zookeeper サービスのオープンを検出情報を入手する接続テスト接続先修理計画参照する序...

Zabbix動的実行監視収集スクリプトの実装原理

Zabbix カスタム スクリプトを使用して監視データを収集する場合、通常、次の問題が発生します。サ...

派手なカルーセル効果を実現するJavaScript

この記事では、JavaScriptで派手なカルーセル効果を実装する2つの方法を紹介します。具体的な内...

CSSスタイルシートを効率的に使用するためのヒント: スタイルシートの力を最大限に活用する

インターネット経済の継続的な発展に伴い、インターネット上の専門ウェブサイト、公共サービスウェブサイト...

Navicat for MySql ビジュアルインポート CSV ファイル

この記事では、参考までに、Navicat for MySql の CSV ファイルのビジュアルインポ...

見落としがちなMySQLのCOLLATIONの例の詳細な説明

序文MySQL データベースの文字列型は、CHAR、VARCHAR、BINARY、BLOB、TEXT...

CSS 円形ホローイングの実装(クーポン背景画像)

この記事では主に、クーポンの背景画像などでよく使われる CSS 円形ホローイングについて紹介し、皆さ...

iframeをカプセル化するvueコンポーネントを開発する

目次1. コンポーネントの紹介2. コンポーネントの内部構造とロジック1. コード組織構造2. マッ...

JavaScript で矢印関数を使用できないシナリオはどれですか

目次1. オブジェクトメソッドを定義する2. プロトタイプメソッドを定義する3. イベントコールバッ...

Docker 構成コンテナの場所とヒントのまとめ

Docker の使用に関するヒント1. 停止したDockerコンテナをすべてクリーンアップする停止し...

JavaScript を使用してテーブル情報を追加および削除する

JavaScript 入門JavaScript は軽量なインタープリタ型の Web 開発言語です。言...