ホームページ >バックエンド開発 >PHPチュートリアル >CentOS+Nginx+PHP+MySQL 詳細構成図

CentOS+Nginx+PHP+MySQL 詳細構成図

WBOY
WBOYオリジナル
2016-08-08 09:22:40926ブラウズ

1. MySQL をインストールする

現在、動的 Web サイトを実行したい場合は、データベースなしでは実行できません。MySQL のインストール方法については以前の記事で書きました。 MySQL がインストールされていないので、あまり説明せずに手順だけ載せておきます

#useradd mysql

#tar zxvf mysql-5.0.40.tar.gz

#cd mysql -5.0.40

# ./configure --prefix=/usr/local/mysql

#make && make install

#/usr/local/mysql/bin/mysql_install_db --user=mysql // MySQL データベースを初期化する

#chown -R mysql /usr/local/mysql/var

#/usr/local/mysql/bin/mysqld_safe & //MySQL を起動します

#/usr/local/mysql/bin/mysqladmin -u root パスワード 123456 //MySQL パスワードを設定します

#cp support-files/my-medium.cnf /etc/my.cnf

#echo "/usr/local/mysql/bin/mysqld_safe &" > ;>/etc/rc.local

2。Install PCRE

PCREはPerlが使用する正規表現であり、目的は、インストールされたソフトウェアを正規表現サポートにすることです。デフォルトでは、Nginx は静的 Web ページリクエスト、つまり html のみを処理します。それが *.php などの動的 Web ページリクエストからのものである場合、Nginx は正規表現に基づいてパスをクエリし、* を渡します。処理用の PHP から PHP への変換

#rpm -qa | grep pcre | / /システムに付属の PCRE を削除する前に、まず libpcre.so.0 ファイルをバックアップする必要があります。これは、RPM パッケージが密接に関連しているためです。削除後は libpcre.so.0 ファイルがないため、PCRE をインストールできなくなります

#rpm -e --nodeps pcre-6.6-1.1 //システムに付属の PCRE を削除します

# tar zxvf pcre -8.00.tar.gz

#cd pcre-8.00

#cp /libpcre.so .0/lib/// システムに付属する PCRE の libpcre.so.0 バックアップを、PCRE に付属の場所にコピーします。 /lib ディレクトリ

#./Configure // PCRE を設定します。PCRE は、 Pache Pache 、php、postfix などのプログラムとは異なり、ライブラリなので、インストール時にデフォルトのパスを選択するだけで済みます。これにより、不必要なトラブルが回避されます。後で他のものをインストールすると、次の図が表示されます

#make && make install

CentOS+Nginx+PHP+MySQL 詳細構成図 3. Nginx をインストールします

Nginx をインストールするときに、多くのオプションを使用するのは非常に面倒です。本当に多くの機能を実装できるでしょうか?それは私をますます憂鬱にさせました。今回上記の作者の手順に従ってNginxをインストールすると、 Nginx

#tar zxvf nginx-0.8.24.tar.gz

#cd nginx-0.8 のインストール時にNginxのインストールパスを指定するだけで済みます。 24

#./configure --prefix=/usr/local/nginx //このリンクでパスを指定するだけです

#make && make install

#/usr/local/nginx/sbin/nginx / /Start Nginx

#echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local

Nginx が起動すると 2 つのプロセスがあり、master がメインプロセス、worker が作業プロセスになります。以下に示すように

NGINX を起動したら、以下に示すように、ブラウザに http://localhost を入力して表示できます

CentOS+Nginx+PHP+MySQL 詳細構成図

IV. PHP がインストールされているので、GD をインストールします。 GD のインストールは必須なのでここでは説明しません CentOS+Nginx+PHP+MySQL 詳細構成図

#tar xvf libpng-1.2.10.tar.tar

#cd libpng-1.2.10

#./configure をインストールします。 -- prefix=/usr/local/png

#make;make install

#ln -s /usr/local/png/lib/* /usr/lib/

2. jpeg

#mkdir /usr をインストールします。 /local /jpeg

#mkdir /usr/local/jpeg/bin

#mkdir /usr/local/jpeg/lib

#mkdir /usr/local/jpeg/include

#mkdir /usr/local/jpeg /man

#mkdir /usr/local/jpeg/man/man1

#tar xvf jpegsrc.v7.tar.tar

#cd jpeg-7

#./configure --prefix=/usr/local/ jpeg - -enable-shared --enable-static

#make;make install

#ln -s /usr/local/jpeg/lib/* /usr/lib/

3. freetype

#tar xvfをインストールします。 freetype- 2.3.9.tar.tar

#cd freetype-2.3.9

#./configure --prefix=/usr/local/freetype

#make;make install

4. fontconfig をインストールします

# tar zxvf fontconfig-2.4.2.tar.gz

#cd fontconfig-2.4.2

#./configure --prefix=/usr/local/fontconfig --with-freetype-c/local/freetype/bin/freetype-config

#make;make install

5. GD

#tar zxvfをインストールします。 gd-2.0.32.tar.gz

#cd gd-2.0.32

#./configure --prefix=/usr/local/gd --with-png=/usr/local/png --with- jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --with-fontc/local/fontconfig

#cp /usr/local/png/include/png.h ./

# cp /usr/local/png/include/pngconf.h ./

#make;make install

6. PHP

をインストールします​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​全く感覚がありません。過去に、多くの友人が Apache+PHP を構築しました。Apache+PHP はコンパイル後にモジュール ファイルを生成しますが、Nginx+PHP は実行可能ファイルを生成するために PHP を必要とするため、Nginx と PHP の統合を実現するには fastcgi テクノロジーを使用する必要があります。 FastCGI をインストールして有効にします。今回は FastCGI だけでなく PHP-FPM なども使用して PHP をインストールしました。 端的に言えば、PHP-FPM は純粋に PHP 用のプラグインです。 PHP をインストールするとき PHP-FPM を使用する場合、PHP-FPM をパッチの形で PHP にインストールする必要があります。また、PHP は PHP-FPM のバージョンと一致している必要があります。これは必須です。

まず、PHP と PHP-FPM を同じディレクトリにダウンロードしました。今回は php-5.3.0.tar.bz2 と php-5.3.0-fpm-0.5.12.diff.gz を使用しました。同じディレクトリ内

#tar xvf php-5.3.0.tar.bz2

#gzip -cd php-5.3.0-fpm-0.5.12.diff.gz | patch -d php-5.3.0 -p1 / /php-5.3.0-fpm-0.5.12.diff.gzをパッチとしてphp-5.3.0に追加

#cd php-5.3.0

#./configure --prefix=/usr/ local /php --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/png --with-freetype-dir = /usr/local/freetype --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm

注: Nginx+PHP 統合、--enable-fastcgi および - インストール中に有効にする必要があります - Enable-fpm、これら 2 つのオプションが行うことはすでに上で説明されています。実行後、システムは --enable-fastcgi が不明なオプションであることを示すプロンプトを表示しますが、無視する必要はありません

CentOS+Nginx+PHP+MySQL 詳細構成図

#make

#make install

#cp php.ini-dist /usr/ local/php/etc/php .ini

これからPHP-FPMを起動します

#/usr/local/php/sbin/php-fpm start

CentOS+Nginx+PHP+MySQL 詳細構成図

PHP-FPMを起動すると上記のエラーが報告されます理由は PHP-FPM どのユーザーとグループで PHP を実行するかわからないため、ファイルを変更してファイル内のコメントを削除し (ファイルを開いて赤い部分を削除)、その後 PHP-FPM を実行する必要があります。 PHP は、nobody ユーザーおよびグループとして実行されます。

#vi /usr/local/php/etc/php-fpm.conf

CentOS+Nginx+PHP+MySQL 詳細構成図

#/usr/local/php/sbin/php-fpm start

#ps -aux | php

CentOS+Nginx+PHP+MySQL 詳細構成図

#echo "/usr/local/php/sbin/php-fpm start" >>/etc/rc.local

5. Nginx と PHP を統合する

前述したように、Nginx はそれ自体を処理しません。動的 Web ページのリクエスト。Nginx は動的リクエストを PHP に転送します。Nginx 設定ファイルを開いて見てみましょう

#vi /usr/local/nginx/conf/nginx.conf //ターゲット部分です。後で変更してください

CentOS+Nginx+PHP+MySQL 詳細構成図

上の図を見ると、Nginx はリクエストを PHP に伝える方法をすでに知っています。Nginx は *.php リクエストを受け取ると、ポート 9000 経由でリクエストを PHP に渡します。以下に示すように、これらのコメントを削除できます

CentOS+Nginx+PHP+MySQL 詳細構成図

注: 上記の /usr/local/nginx/html は、PHP Web サイトが配置されているパスです

その場合、PHP を見つける方法を知っているのは Nginx 自体だけです。いいえ、Nginx を見つける方法を知るにはまだ PHP が必要です。 PS: 街中で JJMM がデート中にお互いを知っているのを見たことがありますか、それともお互いに接続する方法がわかりませんか?これについては心配する必要はありません。PHP-FPM は、PHP リクエストを受け入れる場所を設定ファイルにすでに定義しています。

#vi /usr/local/php/etc/php を確認してください。 -fpm.conf

CentOS+Nginx+PHP+MySQL 詳細構成図

上の図に示すように、Nginx がマシンの 9000 ポートを介して PHP リクエストを PHP に転送することを見てきました。上の図では、PHP 自体がデータをリッスンしていることがわかります。マシンの 9000 ポート、Nginx および PHP はローカル マシンの 9000 ポート経由でデータ要求を完了しました。

6. テスト

nginx 設定ファイルで PHP Web サイトのストレージ パスを定義しました。パスは /usr/local/nginx/html

です。

次に、このディレクトリに新しい PHP ページのテスト ページを作成します。ファイル名は test.php です。内容は次のとおりです。

CentOS+Nginx+PHP+MySQL 詳細構成図

PHP と nginx を再起動した後、プロセスを強制終了して閉じます。起動します) 閲覧中です サーバーに http://localhost/test.php を入力すると、次のインターフェイスが表示され、成功したとみなされます

CentOS+Nginx+PHP+MySQL 詳細構成図

上記では、CentOS+Nginx+PHP+MySQL の詳細な構成図を関連内容も含めて紹介していますので、PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。