GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS6.4にNginx+PHP FPM+APCをインストールします

LEMPサーバー

LempサーバーはNginxを実行します Phpと一緒にウェブサーバー およびMysql またはMariaDB Linuxの場合 システム。 Nginxは、その軽量構造と大量のトラフィックを最適な方法で処理できるため、人気が高まっています。 mysqlはもはやあまり無料ではないため、Mariadbはmysqlの代わりになります。このチュートリアルでは、CentOSでPhpFPMを使用してNginxをセットアップします。 MariaDBをインストールする手順については、別の投稿で説明します。

CentOSは、LinuxベースのWebサーバーで非常に人気のあるOSです。 CentOS(Community Enterprise Operating System)は、RHEL(RedHat Enterprice Linux)に基づいており、100%バイナリ互換です。私たちにとって、それは単にその作業環境と環境においてrhelに似ていること、そしてリポジトリからソフトウェアを簡単にインストールするために利用できる便利なyumコマンドがあることを意味します。この例では、この投稿の時点で最新バージョンであるCentOS6.4で作業します。

Nginxをインストール

最初のステップは、NginxWebサーバーをインストールすることです。 NginxはデフォルトのCentOSリポジトリでは使用できませんが、nginxは簡単に使用できるようにcentos固有のリポジ​​トリを提供します。

nginxリポジトリを追加

/etc/yum.repos.dディレクトリにリポジトリファイルを作成します

$ nano /etc/yum.repos.d/nginx.repo

次に、ファイルを開き、次の行を追加します。これらの手順はNginxから直接提供されます。

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

保存して閉じます。これでnginxをインストールできます。

$ yum install nginx

上記はnginxWebサーバーをダウンロードしてインストールし、使用できるようにします。
インストールが完了したら、検査を行います。まず、serviceコマンドを使用してnginxのステータスを確認します。

[[email protected] ~]# service nginx status
nginx is stopped

上記は、nginxサービスが存在するが、停止していることを示しています。次に、nginxコマンドでtオプションを使用して構成を確認します。

[[email protected] ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

上記のコマンドは、構成に問題がなく、すべて実行するように設定されていることを示しています。そして最も重要なことは、nginx構成ファイルの場所も教えてくれることです。仮想ホスト/複数のドメインを作成するには、ホストごとに個別の構成ファイルを作成することが重要です。仮想ホストの構成は/etc/nginx/conf.d/

にあります

では、nginxサーバーを起動しましょう。

[[email protected] conf.d]# service nginx start
Starting nginx:                                            [  OK  ]

これでnginxが稼働しています。 ifconfigを使用してnginxサーバーのIPアドレスを見つけ、ブラウザからそのIPに接続してテストします。

http://192.168.1.4/

CentOSサーバーのポート80がまだ開いていない場合は、開く必要がある場合があります。 CentOSでhttpポートを開く方法については、このチュートリアルを確認してください。開くと、nginxサーバーのIPアドレスが次のようなコンテンツでページをロードするはずです

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

仮想ホストの作成

仮想ホストまたはnginxが呼び出す「サーバーブロック」は、nginxが名前に基づいて複数のホストにサービスを提供できるようにします。たとえば、abc.comとcde.comを一緒にホストできます。必要なのは、ルートディレクトリなどのホスト固有の設定を含む各ホストの構成ファイルです。

/etc/nginx/conf.d/ディレクトリには、http:// localhost /

を介して機能する仮想ホストの設定を含むdefault.conf構成ファイルが含まれています。

ファイルを確認すると、ルートと呼ばれるWebファイルの場所が表示されます。

location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

したがって、Webファイル(.html、.php、およびすべて)を / usr / share / nginx / html内に配置する必要があります。 ディレクトリ。

さらに仮想ホストを作成するには、default.confファイルをコピーし、ドメイン/ホストの設定と一致するようにルートパスとserver_nameの設定を編集します。

$ cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/mysite.conf

次に、mysite.confを編集し、ルートディレクトリやserver_nameなどの設定を構成します。
次に、nginx構成をテストし、サーバーを再起動します。これで、新しい仮想ホストが作成されます。

ファイルのアクセス許可

Webファイルのルートディレクトリを設定するときは、ファイルとすべての親ディレクトリがシステム上の「グループ」と「その他」によって読み取り可能であることを確認する必要があります。たとえば、権限は0755です。親ディレクトリが読み取り可能でない場合、Nginxはファイルを読み取ることができません。

たとえば、Webファイルを次のディレクトリに配置することを選択した場合

/home/joe/public_html

次に、homeディレクトリとjoeディレクトリの両方がgroupなどによって読み取り可能であることを確認します。そうしないと、Webファイルが他のユーザーによって読み取れるが、親ディレクトリjoeが読み取れない場合でも、nginxはファイルを読み取ることができず、エラーログには次のようなメッセージが含まれます

open() "/home/joe/public_html/index.html" failed (13: Permission denied)

PHPとFPMをインストールする

nginxサーバーが稼働しているので、次のタスクはphpインタープリターをインストールして.phpファイルをnginxで処理できるようにすることです。

php-fpmはすでにCentOSリポジトリの一部であるため、nginxパッケージで行ったような別のリポジトリエントリを作成する必要はありません。したがって、php-fpmをインストールするには、yumコマンドを使用するだけです。

$ yum install php-fpm

パッケージをインストールする前にyumがリポジトリデータを更新したくない場合は、「-C」オプションを使用することをお勧めします。

次に、php-fpmサービスのステータスを確認します

# service php-fpm status
php-fpm is stopped

次に開始します

# service php-fpm start
Starting php-fpm:                                          [  OK  ]
[[email protected] ~]#

次に、phpスクリプトを作成してテストします。 Webファイルディレクトリは/usr / share / nginx / html
したがって、そのディレクトリにファイルを作成します。

# nano /usr/share/nginx/html/phpinfo.php

その後、このコンテンツを追加します。

<?php 
phpinfo();

次に、ブラウザからファイルを開きます。

http://192.168.1.4/phpinfo.php

いいえ、phpスクリプトを実行するようにnginxを構成していないため、まだ機能しません。

phpを実行するようにNginxを構成する

Nginxには、phpfpmを使用するためのデフォルト構成がすでに付属しています。 /etc/nginx/conf.d/default.confファイルを開き、次の行のコメントを解除します。

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
	root           /usr/share/nginx/html;
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
	include        fastcgi_params;
}
を含める

SCRIPT_FILENAMEは非常に重要であり、正しい場所を指している必要があります。そうしないと、「ファイルが見つかりません」というメッセージが表示され続けます。エラー。

ファイルを保存して閉じます。次に、新しいnginx構成をテストします。

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[[email protected] ~]#

設定はOKです。次に、nginxを再起動して、新しい構成を有効にします。

# service nginx restart
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]
[[email protected] ~]#

終わり。ブラウザでphpスクリプトを開くと、すぐに機能するはずです。

http://192.168.1.4/phpinfo.php

APCのインストール

APCは、phpがユーザーデータとオペコードの両方をキャッシュできるようにする代替のphpキャッシュです。これにより、phpの実行が通常よりも速くなります。 APCのパッケージはベースリポジトリ自体で利用できるため、追加のリポジトリを構成する必要はありません。

すぐにyumを使用してインストールします。

# yum install php-pecl-apc

次に、apcのphp-fpmを再起動して有効にします

# service php-fpm restart
Stopping php-fpm:                                          [  OK  ]
Starting php-fpm:                                          [  OK  ]
[[email protected] php.d]#

apcの構成ファイルは次のパスにあります。

/etc/php.d/apc.ini

確認する場合は、phpinfo()関数の出力にも同じパスが示されます。
phpinfo.phpページの構成セクションには、さまざまなapcディレクティブの値を示すapcのセクションが必要です。これらのディレクティブはすべて、apc.iniファイルで構成できます。

メモ

1.仮想ホストの構成中に、nginx構成テストが次のようなエラーで失敗する場合があります

# nginx -t
nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32
nginx: configuration file /etc/nginx/nginx.conf test failed

このエラーを修正するには、/ etc / nginx / nginx.confにあるメインのnginx構成ファイルを開き、httpブロックに次の行を追加します。

server_names_hash_bucket_size 64;

これにより、ハッシュバケットのサイズが大きくなり、エラーが修正されます。


Cent OS
  1. CentOS7LinuxサーバーにPHP7をインストールまたはアップグレードする方法

  2. CentOSにMySQLServer5.6をインストールします

  3. CentOS8にPHP7.4をインストールします

  1. CentOSにPHP5.5をインストールする方法

  2. CentOS8にPHP7.3をインストールする方法

  3. CentOS 7LinuxVPSにPHPサーバーモニターをインストールします

  1. CentOS7にPHP7、7.2、7.3をインストールする方法

  2. CentOS7にPHP5.6をインストールする方法

  3. CentOS7にPHP8をインストールする方法