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

推薦する

Centos 7 sshd の変更 | ルートログインの禁止と sshd ポートスクリプトの定義

1. 新しいユーザーwwweee000を作成します [root@localhost ~]# user...

MySQL サービスを起動できない問題の解決策を含む MySQL 5.7.17 インストール チュートリアル

.net 開発に関しては、Microsoft の SQL Server データベースに精通しており、...

ファイアウォールの iptables 戦略を使用して Linux サーバー上のポートを転送する方法

2つの異なるサーバー間の転送ポート転送を有効にするまず、デフォルトでは無効になっている IP 転送機...

jQuery カスタム虫眼鏡効果

この記事の例では、jQueryのカスタム虫眼鏡効果の具体的なコードを参考までに共有しています。具体的...

xshellリモート接続の自動切断の問題の解決方法の詳細な説明

xshell を使用したリモート接続システムの自動切断の問題の解決策: 1. サーバー構成サーバーは...

MySQL実行計画を学ぶ

目次1. 実施計画の概要2. 実行計画の実践id:選択タイプ:テーブル:タイプ:可能なキー:鍵:キー...

MySQL InnoDB ストレージエンジンのメモリ管理の詳細な説明

目次ストレージエンジンのメモリ管理データ ページを LRU キューの先頭に置かないのはなぜですか?ダ...

CSS3のfocus-withinセレクタの使用

擬似要素と擬似クラスところで、まずは疑似クラスセレクターと疑似要素セレクターについておさらいしておき...

Linux で Bash 環境変数を設定する方法

Shell は C 言語で書かれたプログラムであり、ユーザーが Linux を使用するための橋渡しと...

トップナビゲーションバー機能を実現するCSS+HTML

ナビゲーション バー、固定トップ ナビゲーション バー、およびセカンダリ メニューの実装効果図の実装...

show processlist コマンドによる MySQL パフォーマンス検査の説明

show processlist コマンドは非常に便利です。MySQL の実行が 50% 以上になる...

Sysbench の MySQL ベンチマーク プロセスの分析

序文1.ベンチマークは、テスト オブジェクトのクラスの特定のパフォーマンス指標の定量的、再現可能、比...

Linux でファイルをあいまい検索するのに適したコマンドは何ですか?

1. はじめにこの記事では、主に Linux システムでコマンドライン ツールを使用してファイルを...

MySQLデータベースのbinlogクリーンアップコマンドの詳細な説明

概要今日は主に、MySQL データベースから binlog ログを正しく削除する方法を紹介します。ロ...

Mysql5.7.14 インストールと設定方法操作グラフィックチュートリアル(パスワード問題解決)

この記事は主に、以前のインストール方法を使用して MySQL 5.7.14 をインストールするときに...