Centos に PHP7.4 と Nginx をインストールする方法

Centos に PHP7.4 と Nginx をインストールする方法

準備する

1. 必要なインストールパッケージをダウンロードする

https://www.php.net/distributions/php-7.4.0.tar.gz をダウンロードしてください
http://nginx.org/download/nginx-1.17.6.tar.gz をダウンロードしてください

2. 必要な拡張機能をインストールする

yum install -y gcc gcc-c ++ cmake bison autoconf wget lrzsz libtool-devel freetype-devel devel-devel libpng-devel gd-devel peython-devel patch sudosl* opensldedsldedledledle Unzip Zlib-Devel Libevent* libxml2-devel libcurl* curl-devel-devel sqlite-devel libsodium-devel M https://dl.fedoraproject.org/pub/epel/7/x86_64/packages/o/oniguruma-devel-5.5-3.el7.x86_64.rpm

PHPをインストールする

1. 解凍 - ディレクトリに入る - コンパイルされたファイルを生成する

tar -zxvf php-7.4.0.tar.gz
php-7.4.0をインストールします
./configure --prefix=/usr/local/php \
  --with-config-file-scan-dir=/usr/local/php/etc/ \
  --with-mhash --with-pdo-mysql \
  --openssl 付き --mysqli 付き \
  --with-iconv --with-zlib \
  --enable-inline-optimization \
  --disable-debug --disable-rpath \
  --enable-shared --enable-xml \
  --enable-bcmath --enable-shmop \
  --enable-sysvsem --enable-sysvshm --enable-mbregex \
  --enable-mbstring --enable-ftp \
  --enable-pcntl --enable-sockets \
  --xmlrpc を有効にする \
  --pear なし --gettext あり \
  --enable-session --with-curl \
  --enable-opcache --enable-fpm \
  --gdbm を使用しない --高速インストールを有効にする \
  --disable-fileinfo --with-sodium

2. コンパイルしてインストールする

make && make install

3. 設定ファイル

1. 構成ファイルをインストールディレクトリにコピーします

cp ~/php-7.4.0/php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

2. PHP設定ファイルphp.iniを変更する

vim /usr/local/php/etc/php.ini

内容は以下のように変更されます。

; エラーを表示しません。デフォルトは display_errors = Off

; display_errorsをオフにした後、PHPエラーログをオンにします(パスはphp-fpm.confで設定されます)。デフォルトではlog_errors = Onです。

; 文字セット、default_charset = "UTF-8"

;ファイルアップロードサイズ、デフォルト値は小さすぎるので、10Mに変更することをお勧めします
アップロード最大ファイルサイズ = 2M

;PHP が受け入れる POST データの最大サイズ。フォームの最大値はデフォルトで 8M です。フォームにアップロードする画像が複数含まれている場合は、サイズが足りない可能性があります。サイズがこれを超えると、バックエンドはフォームデータを受信しません。 post_max_size = 8M

; PHP 拡張ライブラリのパスを設定します。デフォルトではコメントアウトされています。その後、/usr/local/php/lib/php/extensions/ の下のフォルダと同じ名前のフォルダが作成されます。
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/"

; PHP タイムゾーンを設定する date.timezone = PRC

; opcache を有効にする (デフォルトは 0)
[オプキャッシュ]
; Zend OPCache が有効かどうかを決定します
opcache.enable=1

3. php-fpm設定ファイルphp-fpm.confを変更する

vim /usr/local/php/etc/php-fpm.conf

内容は以下のように変更されます

; 後で再起動しやすくするためにセミコロンを削除します。推奨される変更;デフォルト値: なし
; 以下の値の最終ディレクトリは /usr/local/php/var/run/php-fpm.pid です
; 有効にすると、php-fpm はスムーズに再起動できます
pid = 実行/php-fpm.pid

; エラーログのパスを設定します。デフォルト値を使用できます。注: デフォルトのプレフィックスは /usr/local/php/var です。
; デフォルト値: log/php-fpm.log、つまり /usr/local/php/var/log/php-fpm.log
エラーログ = /var/log/php-fpm/error.log

; ログ レベル (デフォルト値にすることができます) 可能な値: alert、error、warning、notice、debug
; デフォルト値: 通知
log_level = 通知

; バックグラウンドで実行します。デフォルトは yes です。デフォルト値にすることができます。デフォルト値: yes
;デーモン化 = はい

; www.conf ファイルに設定を導入します。デフォルト値は include=/usr/local/php/etc/php-fpm.d/*.conf です。

4. www.confを変更する

vim /usr/local/php/etc/php.ini

内容は以下のように変更されます。

; ユーザーとユーザー グループを設定します。デフォルトは nobody です。デフォルト値 user = nginx
グループ = nginx

; PHP リスニングを設定します。以下はデフォルト値であり、推奨されません。デフォルト値は listen = 127.0.0.1:9000 です。
; nginx.conf の設定 fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock に従って;
;listen = /var/run/php-fpm/php-fpm.sock

#######スローログをオンにします。デフォルト値 slowlog = /var/log/php-fpm/$pool-slow.log を使用できます。
リクエスト_スローログ_タイムアウト = 10秒

4. php-fpmの操作

/usr/local/php/sbin/php-fpm -t # php-fpm は設定ファイルが正しいかどうかを確認します /usr/local/php/sbin/php-fpm # php-fpm が起動します kill -INT `cat /usr/local/php/var/run/php-fpm.pid` # php-fpm がシャットダウンします kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` # php-fpm がスムーズに再起動します

nginxをインストールする

1. 解凍 - ディレクトリに入る - コンパイルされたファイルを生成する

tar -zxvf nginx-1.17.6.tar.gz
nginx-1.17.6をインストールします
./configure \
  --prefix=/usr/local/nginx \
  --with-http_stub_status_module \
  --http_ssl_module \ で始まる
  --http_realip_module \ で始まる
  --http_sub_module \ を追加
  --with-http_gzip_static_module \
  --pcre 付き

2. コンパイルとインストール

作る
インストールする

/usr/local/nginx/sbin/nginx -t をテストします。

nginx: 設定ファイル /usr/local/nginx/conf/nginx.conf のテストが成功しました #テスト成功

3. 設定ファイル

1. nginx.confを設定し、vim /usr/local/nginx/conf/nginx.confを実行します。

内容は以下のように変更されます

#ユーザーnobody;
ワーカープロセス 1;
error_log /www/logs/nginx/error.log;
error_log /www/logs/nginx/error_notice.log 通知;
#error_log ログ/error.log 情報;
#pid ログ/nginx.pid;
イベント {
  ワーカー接続 1024;
}
http {
  mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;
  #access_log ログ/access.log メイン;
  ファイル送信オン;
  #tcp_nopush オン;
  #キープアライブタイムアウト 0;
  キープアライブタイムアウト65;
  #gzip オン;
  #ディレクトリを表示 #autoindex オン;
  #ファイルサイズを表示 #autoindex_exact_size オン;
  #ファイルの時間を表示 #autoindex_localtime オン;
  /www/conf/vhosts/*.conf を含めます。
}

2. ウェブサイト設定ファイルを追加する

vim /www/conf/vhosts/default.conf

ファイルの内容は次のとおりです

サーバ{
  聞く 80;
  server_name localhost、www.test.com;
  ルート /www/web/default;
  位置 / {
    # URLの美化を有効にする if (!-e $request_filename){
      最後に ^/(.*) /index.php を書き換えます。
    }
    インデックス index.html index.php;
  }
  場所 ~ \.php$ {
    fastcgi.conf をインクルードします。
    127.0.0.1:9000; をデフォルトとして設定します。
    try_files $uri = 404;
  }
}

4. テスト構成

/usr/local/nginx/sbin/nginx -t を実行します。テストが失敗した場合は、戻って実行手順にエラーがないか確認します。

5. nginxの操作

/usr/local/nginx/sbin/nginx -t # 設定ファイルが正しいか確認します /usr/local/nginx/sbin/nginx # 起動します /usr/local/nginx/sbin/nginx -s stop # 閉じる /usr/local/nginx/sbin/nginx -s reload # スムーズに再起動します

要約する

以上が編集者が紹介した Centos に PHP7.4 と Nginx をインストールする操作方法です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Centos8 に nginx をインストールするための詳細なチュートリアル (画像とテキスト)
  • Centos7 に nginx をインストールした後、conf.d ディレクトリに default.conf ファイルがないために「Welcome to nginx on Fedora!」というエラーが表示される問題を解決します。
  • CentOS7にNginxをインストールして自動起動を設定する方法
  • Centos7 に PHP と Nginx をインストールする詳細なチュートリアル
  • Centos7のソースコードのコンパイルとNginx1.13のインストールの詳細な説明
  • Centos8 に nginx1.9.1 をインストールする詳細な手順

<<:  MySQL 5.7.17 のインストールと設定方法のグラフィックチュートリアル

>>:  WeChatアプレットはシンプルなチャットルームを実装します

推薦する

CentOS7 で MySQL データベースにリモート接続できない理由と解決策

序文最近、仕事で問題が発生しました。 Centos7 システムでは MySQL にリモート接続できな...

Docker が占有するディスク領域をクリーンアップする方法

Docker は多くのスペースを占有します。コンテナを実行したり、イメージを取得したり、アプリケー...

MySQL 8.0 における非同期レプリケーションの 3 つの方法について簡単に説明します。

この実験では、空のデータベース、オフライン、オンラインの 3 つのモードで、1 つのマスターと 2 ...

Vueが初めて要素を取得できなかったときの解決記録

序文Vue で要素を初回取得できない問題の解決方法は、ポップアップ ウィンドウで要素を取得するために...

主キーを追加または変更するMySQL SQL文操作

テーブルフィールドを追加する テーブルtable1を変更し、トランザクタvarchar(10)をNu...

overflow:autoの使い方の詳しい説明

本文に入る前に、オーバーフローとフレックスレイアウトの使い方をいくつか紹介します。 overflow...

Linux デスクトップ用の 4 つのスキャン ツール

ペーパーレスの世界はまだ到来していませんが、書類や写真をスキャンすることで紙をなくす人が増えています...

JavaScript の高度なプログラミングの基本参照型

目次1. 日付2. 正規表現3. オリジナルパッケージタイプ序文:参照値(オブジェクト)は、 Dat...

Javascript における分割代入構文の詳細な説明

序文ES6 で初めて導入された「構造化代入構文」を使用すると、配列やオブジェクトの値を異なる変数に挿...

CSS チュートリアル: CSS 属性メディア タイプ

スタイルシートの最も重要な機能の 1 つは、ページ、画面、電子シンセサイザーなどの複数のメディアに適...

フォーム入力ボックスに関するWebデザインのヒント

1. キャンセル ボタンが押されたときの破線ボックス<br /> 入力に属性値 hide...

Axios はリクエストをキャンセルし、重複リクエストを回避します

目次起源現状リクエストをキャンセル cancelTokenリクエスト方法の変更重複したリクエストを避...

JavaScript DOMContentLoaded イベントのケーススタディ

DOMContentLoaded イベント文字通り、DOM がロードされた後に実行されます。 win...

JS 関数のアンチシェイクと関数スロットリングを理解する方法

目次概要1. 関数デバウンス2. 機能スロットリング(スロットル)概要関数アンチシェイクと関数スロッ...

js の toString メソッドの 3 つの機能

目次1. toStringメソッドの3つの機能2. オブジェクトを表す文字列を返す3. カスタム t...