Nginx + MySQL + PHP5 + APC + Spawn_FastCGIを使用してWebサーバーをインストールする方法[第4部:SpawnFastCGIを使用したNginx + PHP]

さっき この一連のチュートリアルについてお話しました、需要の高いホスティング用にサーバーをインストールして構成する方法について。 この記事では、インストールと構成について説明します Nginx + PHP とともに SpawnFastCGI:

Spawn_FastCGI:

これは、NginxとPHPを接続するものであると言えます。つまり、PHP5パッケージがインストールされていても、PHPでサイトを開いたときにSpawn_FastCGIがインストールおよび実行されていない場合、ブラウザーはファイルをダウンロードしますが、サーバーが.phpファイルの処理方法を知らないため、.phpがプログラムされていることをすべて表示します。そのため、Spawn_FastCGIをインストールして構成することが不可欠です。

Apacheを使用した場合、libapache2-mod-php5パッケージをインストールするのと同じくらい簡単ですが、Nginxを使用しているため、代わりにspawn-fcgiパッケージをインストールする必要があります。 また、チュートリアルでは、/ etc / init.d /に初期スクリプトを作成して、より快適に制御できるようにする方法について説明します。

1.インストール:

まず最初に、リポジトリからSpawn-FastCGIとPHPをインストールします。

実行されるすべてのコマンドは、各行の先頭にsudoを配置するか、rootとしてログインすることにより、root権限で実行されます。

サーバーでDebian、Ubuntu、またはターミナルで派生物などのディストリビューションを使用している場合は、次のように入力して 入力します :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitudeはデフォルトではUbuntuにインストールされていませんが、aptitudeをインストールして、apt-getの代わりに使用することをお勧めします。aptitudeは特定の状況で依存関係をより適切に管理するためです。

個人的には、サーバー用のUbuntuでさえも、Debianの派生物をお勧めしません。長年にわたって、私の経験は完全に満足のいくものではありませんでした。 サーバーオペレーティングシステムの最初の選択肢はDebianで、次にCentOS、最後にBSDを考えます。

2.構成:

前の手順(Nginxをインストールしたとき)で、nginx-spawn-fastcgi.tar.gzというファイルをダウンロードしました。このファイルを解凍すると、自宅にnginx-spawn-fastcgiフォルダーが作成され、そこからファイルがコピーされます。 spawn-fastcgiから/etc/init.d/へ:

cp ~/nginx-spawn-fastcgi/spawn-fastcgi /etc/init.d/

また、/ usr / bin /にphp-fastcgi実行可能ファイルが必要です。

cp ~/nginx-spawn-fastcgi/php-fastcgi /usr/bin/

完璧です。spawn-fastcgiとphp-fastcgi実行可能ファイルを制御できるファイルの準備ができました。次に、spawn-fastcgiを開始します。

/etc/init.d/spawn-fastcgi start

次のように表示されます。 spawn-fcgi:子が正常にスポーンされました:PID:3739

次に、/ etc / nginx / sites-available / mywebsite.netファイルを〜/ nginx-spawn-fastcgi /mywebsite_plus_php.netに置き換えます。

cp ~/nginx-spawn-fastcgi/mywebsite_plus_php.net /etc/nginx/sites-available/mywebsite.net

どうして? 単純です。古いmywebsite.netファイルはPHPをサポートしていないためです。つまりNginxのみですが、ファイルmywebsite_plus_php.netはPHPをサポートしています。つまり、SpawnFastCGIを使用したNginx + PHPです。

これらのファイルの違いはいくつかあります。次に例を示します。

  • 3行目では、PHPをサポートするファイルにindex.phpが追加されています。
  • 以下を含むNo.3の下の新しい行:fastcgi_index index.php;
  • NginxにPHPの処理方法を指示する他のいくつかの新しい行。
  • …..要するに、これは両方のファイルの違いを知るのに役立つ写真です:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

mywebsite_plus_php.netファイルは例として機能する仮想ホストです。つまり、ファイルを変更して構成を確立する必要があります。

以下を変更する必要があります。

  • access_log(3行目):これは、このサイトへのアクセスログファイルのパスになります
  • error_log(4行目):これは、このサイトへのエラーログファイルのパスになります
  • server_name (行 5): そのフォルダーでホストされている URL、ドメイン (たとえば、フォーラムの場合) DesdeLinux それは次のようになります: フォーラムサーバー名。desdelinux.NET
  • ルート(6行目):htmlファイルがあるフォルダーへのパス。これはテストにすぎないため、/ var / www /に残しておきましょう。
明らかに、server_nameで宣言されたドメインまたはサブドメインが構成しているこのサーバーのIPにあることを、(CPanelまたは別のツールを使用して)ホスティングプロバイダーのDNSレコードでポイントする必要があります。 つまり、ドメインのサブドメインを作成するDNSで、5行目に配置したドメインまたはサブドメインがこのサーバー上にあることを宣言する必要があります(このサーバー=問題のサーバーのIPアドレス)

準備ができました。Nginxを再起動します。

/etc/init.d/nginx restart

NginxがPHPを正しく処理することを確認するために、ファイルphptest.phpをホストフォルダー、つまりmywebsite_plus_php.netファイルの6行目に示されているフォルダー(たとえば、root / var / www /)にコピーしましょう。サイトが/ var / www /で直接ホストされていると仮定すると次のようになります。

cp ~/nginx-spawn-fastcgi/phptest.php /var/www/

mywebsite_plus_php.netの5行目(つまり、server_name行)で、サイトがwww.mysite.netであると述べたとすると、www.mysite.net /phptest.phpにアクセスする必要があります。 言い換えると、ブラウザからphptest.phpファイルにアクセスするというアイデアであり、次のように表示された場合、NginxはPHPと完全にリンクしています。

nginx_mysql_spawn-fastcgi_tersting_nginx_php

これが表示されない場合、つまり、ブラウザが.phpファイルをダウンロードしようとしている場合...これは、何か間違ったことをしたこと、/ etc / nginx / sites-available / mywebsite.netを〜に置き換えなかったことを意味します。 / nginx-spawn-fastcgi/mywebsite_plus_php.net…/etc/init.d/nginxrestartでNginxを再起動するのを忘れた、または/etc/init.d/spawn-fastcgistartでSpawn-FastCGIを開始するのを忘れた

これまでのところ、SpawnFastCGIを使用してNginxをPHPにリンクするチュートリアルでは、MySQLとAPCのみが必要です🙂

これがあなたにとって興味深いものになることを願っています。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   f3niX

    四半期の場合、画像に3と表示されているのはなぜですか。 0から始まったと思いますか? 優れた投稿。

    よろしく

    1.    KZKG ^我愛羅

      1日:プレゼンテーション
      2位:Nginx
      3番目:Nginx + PHP(Spawn_FastCGI)

      🙂

      読んでくれてありがとう^ _ ^

      1.    ロドリゴ

        パート4はどうなりましたか?
        そしてそれに続く?????

  2.   ルパヤン

    はいはい。

    mysqlの代わりにMariaDBを使用した方が良い選択です。後者は前者のフォークであり、将来のMysqlになるという話がすでにあるからです(http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro)Mysqlは無料なので、ある程度まで。

    無料のデータベースからサービスを提供する会社であるSkySQLは、MariaDBプロジェクトを財政的に支援しました(http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto)と、ウィキペディアも行ったようにMysqlに依存することをやめたいと考えているグーグルは、この分野の専門家であるSkySQLの助けを借りて、MySQL5.1からMariaDB10.0に移行します。

    Salu2

    1.    KZKG ^我愛羅

      こんにちは、

      はい、もちろん、私はMariaDBを知っています。実際、私たちはすでにそれについて話しました。 https://blog.desdelinux.net/tag/mariadb/

      ただし、移行時の特定の経験に基づいてこれらのチュートリアルを行っているため、現在は MySQL を使用しています。 DesdeLinux (そのすべてのサービスを含めて) 他のサーバーに移行したのですが、当時、私たちはテクノロジーを完全に変更し、直面しなければならなかったタスクや変更は少なくありませんでした。
      その瞬間から私のこのコメントを読んでください: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      最終的なアイデアは確かにそうです、MariaDBに移行しますが、関連するテストを行う時間がありませんでした🙂

      読んでくれてありがとう

  3.   エリオタイム3000

    このチュートリアルは、GNUPanel VPSに移行するときにサイトが飽和状態にならないように、NGINXとともにzPanelXをインストールするのに役立ちます。

  4.   ドラグネル

    クリスマスプレゼント? みなさん、おめでとうございます。

    1.    KZKG ^我愛羅

      ありがとうパートナー😀

  5.   st0rmt4il

    お気に入りに追加!

    ちなみに、私はこの疑問と疑問を持っています、Nginxは本当にApacheよりもパフォーマンスが高いのですか?

    ご挨拶!

    1.    KZKG ^我愛羅

      ええと、Apacheはたくさん最適化できますが…今まで、Google itと私たちのほとんどすべてが、NginxがRAMをはるかに少なく消費し、パフォーマンスがそれほど単純ではないものの、構成時にそれほど単純ではないことに同意しています。

  6.   ルイス·モラレス

    良いKZKG ^我愛羅は、この世界に興味を持っている私たちにとって素晴らしい情報です。