CentOSの7コンパイルとPHP5.6.31をインストール

        私が使用することを決めたので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.631タール .gzを

     2)インストールディレクトリに、インストール

CDはphp- 5.631 
/の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ファイルのエラーを開きます。

"お探しのページは一時的にアクセスできません。「後でもう一度試してください

 
修正
pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
PID = /usr/local/php/var/run/php-fpm.pid

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は正常にインストール。事前ハッピーニューイヤーでところで、!

おすすめ

転載: www.cnblogs.com/VicLiu/p/12186587.html