私が使用することを決めたのでnginxのは、サーバーとMySQLにされている PHP + nginxの+ mysqlの、この組み合わせを理由Linuxを、インターネット上の情報の多くを投入し、PHPは理解していない、とPHPを知らないとnginxのMySQLがどのように発生した関連しています(、パッケージは、インストールされていないインストール間違っをPHPではない)は、さまざまな理由から、展開、これら3が個別にインストールされた後に多くの時間を費やし、そして後に発見された(またの量と一緒にインストールさ~~ん)、あなただけのPHPをインストールする必要が後者の構成、構成nginxの(関連した、PHP)を直接実行することができます。MySQLのように、構成されたデータベースに接続するだけオープン、PHPプロジェクトは、直接アップ接続することができます。そこで、本稿では主にPHPをインストールするため。
nginxのとMySQLのインストールについては、インストールを開始する前に、いくつかのLinux開発ライブラリが参照リンクを持っているこの改作、にインストールされていませんが必要です。
この記事では、このリンクのブログへの参照をした:https://www.cnblogs.com/flower-tree/p/7562101.html
PHPバージョン:5.6.31
nginxのバージョン:1.7.3
MySQLのバージョン:5.6.62
PHPのインストール構成
nginxの自体は、その要求は、PHPであれば、それはインタプリタプロセスのphpに送られ、その結果がクライアントに返され、要求を受信した後、単にWEBサーバで、PHPを扱うことができません。
nginxののFastCGIは、一般的にプロセス管理プロセス、管理プロセスの選択のCGIのFastCGI子プロセスを返す処理結果nginxのに要求を送信します。
PHP-FPMとは何ですか?PHP-FPMのみPHPのために、新しいバージョンは、PHP-FPM、PHP-FPM良好PHPプロセス管理を統合して、PHPのFastCGIマネージャの一部であり、効果的にメモリを制御することができ、プロセスが円滑にオーバーロードすることができるPHPの設定。configureは、オープンPHP-FPMに-enable-FPMのパラメータで、他のパラメータは、ときにここで見ることができ FastCGIのあるものへと、そしてPHP-FPMとは何か、リンクhttps://segmentfault.com/q/1010000000256516を参照してください。
インストール前の準備
EPELソースを追加
RPM -Uvhます。http:// dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
インストールが依存します
yumを インストール gccのバイソンバイソン-develのはzlib-develのlibmcryptを-develのmcryptのはmhash-develのopensslの-develのlibxml2の-develのlibcurlの-develのbzip2の -develのreadline-develのlibeditの-develのsqlite- develの yumを -y インストール のgcc はgcc -c ++ のglibc のyum -y インストール libmcryptの-develのはmhash-develのlibxslt- のdevel \ のlibjpegのlibjpeg -develのlibpngのlibpng-develのFreeTypeのFreeTypeの-develのlibxml2のlibxml2- のdevel \ zlibのzlibの -develのglibcのglibc-develのglib2 glib2-develのbzip2の bzip2の - develの\ ncursesベースのncurses-develカールカール-develのe2fsprogsのe2fsprogs- のdevel \ krb5のkrb5の -devel libidn libidn-develのopensslのopensslの-develの
ダウンロードのphp-5.6.31
1)インストールパッケージは/ usr / local / srcを抽出します
CDは/ usr / local / SRC タール -zvxf php- 5.6。31。タール .gzを
2)インストールディレクトリに、インストール
CDはphp- 5.6。31 。/のconfigure --prefix =は/ usr / local / phpの--enable-FPM --with- mcryptの\ --enable-mbstringの--enable-PDO --with-カール--disable-デバッグ--disable- のrpath \ - -enable-インライン最適化--with-BZ2 --with-zlibを--enable- ソケット\ --enable-SYSVSEM --enable-SYSVSHM --enable-PCNTL --enable- mbregex \ --with-はmhash - enable- ジップ --with-PCRE正規表現で--with-mysqlの--with- mysqliの\ --with-gdの--with-jpeg- DIR --with-freetype- DIR --enable- カレンダー メイク && 作る インストール
CentOSのダウンロードPHP:wgetのhttp://php.net/get/php-5.6.30.tar.gz/from/this/mirror
これは、PHP-FPMのインストールが完了し、インストールプロセスには時間がかかります。
PHPの設定について
1、PHP用のプロファイルを提供します
cpは php.iniの生産/usr/local/php/etc/php.ini
注:ちょうど/usr/local/src/php-5.6.31でphp.iniの生産またはディレクトリ
2、PHP-FPMを提供するために、設定ファイル
CDは/ usr / local / phpの CPなど/ PHP-fpm.conf.defaultなど/ php- fpm.conf のvimなど /php-fpm.conf
PHP-fpm.confを変更
ユーザー= WWW
グループ= WWW
WWWユーザーが存在しない場合は、(デフォルトのユーザーは誰もが実行していないため)、WWW最初のユーザーを追加
groupaddのWWW
のuseradd -g WWW WWW
このステップが設定されていない場合、ブラウザは、PHPファイルのエラーを開きます。
"お探しのページは一時的にアクセスできません。「後でもう一度試してください
3、PHP-FPMを開始
実行
/ usr / local / PHP / sbinに/ PHP-FPM
(このコマンドの出力は、いくつかのphp-FPMの成功を説明するためのプロセスを開始している場合)正を確認するには、次のコマンドを使用します。
PSへ| グレップの PHP-FPM
下に示すような結果:
3、nginxのとPHP-FPMの統合
nginxの設定ファイルを編集
vimの/usr/local/nginx/conf/nginx.conf
次のように初期の読み取り:
#nginxのは、ユーザ名を実行する ユーザーのnginx; #は、プロセスを開始し、通常はCPUの数に等しくなるように設定しnginxの、ここでは自動的に オートworker_processes; #エラーログファイルの場所の error_logには/ var / / nginxの/ログのerror.log; #PIDファイルアドレス、 nginxのプロセス管理を容易、PIDを記録 PID / RUN / ; nginx.pid 。#動的モジュールは参照負荷の/ usr /報告このコンテンツ共有/ nginxの/ 。README.dynamic #他の動的構成モジュールをロードするために使用される 含む / USR /報告このコンテンツ共有/ nginxの/モジュール/ * の.conf; #動作モードおよび接続の数が制限 イベントを{ 同時リンク番号の最大数は、各worker_processes 同時#の総数:worker_processes * worker_connectionsの worker_connections 1024; } 同様に#HTTPおよび構成パラメータのいくつかに関連する同様のサービスを提供しますメール HTTP { #設定されたログ・フォーマット #インポートファイル拡張子とファイルタイプマップ LOG_FORMATメイン'$ REMOTE_ADDR - $ REMOTE_USER [$ time_local] "$要求"' '$ステータスの$ body_bytes_sent "$ HTTP_REFERER"' ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"'; レコードをaccess_logのユーザ#アクセスしたページ、ブラウザを、 IPおよびその他のアクセス情報 メイン/var/log/nginx/access.logのaccess_log; このセクションは、以下に別々に説明する。# #nginxの設定をするかどうかのsendfile出力ファイル機能 のsendfile ON、 最大パケット#契約(Nagleアルゴリズム) TCP_NOPUSH ; ON #すぐに送信するパケット(無効Nagleアルゴリズム) TCP_NODELAY ON; #リンクのタイムアウト 65 keepalive_timeout; #この私にはわからない... 2048 types_hash_max_size。 含ま/etc/nginx/mime.types; #デフォルトのファイル・タイプ default_typeファイルapplication / octet-streamと; 。#モジュールの設定ファイルをロード/etc/nginx/conf.dディレクトリから #を参照してくださいhttp://nginx.org/en/ドキュメント/ ngx_core_module.html の#include #のための詳細情報。 /etc/nginx/conf.d/*.confが含まれる; サポート複数の仮想ホスト#HTTPサービス。 #設定項目に対応する各仮想ホストサーバ の仮想ホスト・コンフィギュレーションに関連付けられている設定項目が含まれて#。 {サーバー の#ポート 80 DEFAULT_SERVERを聞く、 聞く[::]:80 DEFAULT_SERVER; ドメイン名#アクセス サーバー名_; #デフォルトのWebルートディレクトリ(wwwディレクトリ) ルートは、/ usr / share / nginxの/ HTML; 。ロードコンフィギュレーションサーバのブロックファイルの#デフォルトは /etc/nginx/default.d/*.conf含む; #デフォルト要求 LOCATION / { } #エラーページ(404) error_page 404 /404.html; LOCATION /40x.html = { } #エラーページ(50X) error_page 500 503 504 502 /50x.html; LOCATION /50x.html = { } } }
我々は唯一の構成を変更する必要がありserver
、それの一部を。Vimは編集モードを入力するか、変更内容を共有するためにデスクトップにFlashFXPコンフィギュレーションファイルを使用します。
あなただけの3を変更することができます
{サーバー 聞く 80 DEFAULT_SERVER; 聞く[::]:80 DEFAULT_SERVER; ここで#の変化が、また、あなたのドメイン名を書くことができ、私はIPアドレスを使用 SERVER_NAMEを192.168.0.222 ; ルート は/ usr /報告このコンテンツ共有/ nginxの/ HTML; #ロード設定ファイルのために。サーバーのブロックがデフォルト 含める /etc/nginx/default.d / * .confのを、 LOCATION / { #名は、本明細書ホームインデックスファイルの変更に定義され たインデックスのindex.php index.htmlにあるindex.htmを; } error_page 404 / 404.html; LOCATION /40x.html = { } ; /50x.html error_page 500 502 503 504 {LOCATION = /50x.html } #新たにここに追加 #PHPスクリプト要求がデフォルトの設定..使用して、すべてのプロトコルのFastCGI FastCGIプロセスに転送され #のFastCGIサーバ及びプログラム(PHP、Pythonの)通信。契約 LOCATION〜\ .phpの$ { #セットリスニングポート fastcgi_pass 127.0.0.1:9000; #スクリプトファイルのリクエストパスその fastcgi_param SCRIPT_FILENAME $ $ DOCUMENT_ROOTのfastcgi_script_name; #FastCGIのプロフィール紹介 fastcgi_paramsが含まれ; } }
再起動nginxのサーバー
nginxの-sリロード
この時点で、nginxのとPHPが共同で設定が完了しましたが、我々は、我々が確認するために、小さなテストスクリプトを書くことができ、この時間を実際の構成に影響するのか分かりません。
私たちは、このディレクトリ内のPHPテスト・スクリプトを作成することができ、前述のは、/ usr / share / nginxの/ htmlのnginxのWebルートディレクトリです。
#Phpinfo.php私は、ファイル名を作成したいです
我々 /usr/share/nginx/html/phpinfo.php
エディタを開いた後、入力
<?PHP のphpinfo(); // テスト情報 ?>
私はここにある192.168.0.222で、あなた自身を置き換えることができ、IP保存して終了は、お使いのブラウザhttp://192.168.0.222/phpinfo.phpに入力します。図の画面は次のようになります。
nginxのとPHPの設定が完了しています。
4、インストールプロセスの間違ったの理由
私は間違いがあった、インストールプロセスを押します。mcrypt.hはありませんしてください再インストールlibmcryptを発見しました。
PHP-mcryptのlibmcryptを付けてlibmcrypt-develのこれらのパッケージがインストールされていないので、エラーは一般的にライブラリやパッケージをインストールすることができます表示されません。
PHPは、この時点で設定されている、朱Junanは正常にインストール。事前ハッピーニューイヤーでところで、!