ホームページ  >  記事  >  バックエンド開発  >  Linux で Nginx サーバー + PHP 開発環境を最初からインストールして構成する、_PHP チュートリアル

Linux で Nginx サーバー + PHP 開発環境を最初からインストールして構成する、_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 09:02:30748ブラウズ

Linux で Nginx サーバー + PHP 開発環境を最初からインストールして構成します

Nginx は、ロシア人によって書かれた非常に軽量な HTTP サーバーであり、非常に優れたパフォーマンスを備えています。非常に効率的なリバース プロキシ、負荷分散。 Lighttpd と同等の性能を持ち、Lighttpd のメモリリークの問題もありません。また、Lighttpd の mod_proxy にも問題があり、長い間更新されていません。

そこで、Linux サーバー上の Apache を置き換えるためにこれを使用する予定です。ただし、Nginx は CGI モードでの実行をサポートしていません。CGI モードによって引き起こされるプログラムの脆弱性を軽減できるためです。次に、FastCGI を使用して PHP プログラムを実行する必要があります。

以下は、Nginx + PHP5 FastCGI を正常に構成する私のプロセスです

まずNginxをインストールまたはコンパイルします

Nginxをインストールする

ソースコードパッケージは公式ホームページからダウンロードできます。 Ubuntu 7.10 は、apt を通じて直接インストールすることも、ここから最新の deb パッケージをダウンロードすることもできます:

リーリー

自分でコンパイルしたい場合は、コンパイラーと PCRE ライブラリー (Nginx 用の書き換えモジュール。このモジュールが必要ない場合は、configure 中に ./configure –without-rewrite を使用できます) が既にあることを確認する必要があります。コンパイル方法は次のとおりです。 リーリー

Ubuntu インストール後のファイル構造はおおよそ次のとおりです:

    すべての設定ファイルは/etc/nginxの下にあり、各仮想ホストは/etc/nginx/sites-availableの下に配置されています
  • プログラムファイルは/usr/sbin/nginxにあります
  • ログは/var/log/nginxに配置されます
  • そして/etc/init.d/
  • の下にスタートアップスクリプトnginxを作成しました
  • デフォルトの仮想ホストディレクトリは/var/www/nginx-defaultに設定されています
デフォルトの設定でコンパイルすると、/usr/local/nginx の下に配置されます。 ディレクトリ構造は次のとおりです。

/usr/local/nginx/conf 設定ディレクトリ
  • /usr/local/nginx/html デフォルトの Web サイトのルート ディレクトリ
  • /usr/local/nginx/logs ログと PID ファイルのディレクトリ
  • /usr/local/nginx/sbin 実行ファイルディレクトリ
  • 以下で nginx を起動して効果を確認できます (他のサービスがポート 80 を使用していないことを確認してください):

Ubuntu を実行してください:

リーリー

その他の人は次を実行してください:

リーリー

その後、http://localhost/ を通じて効果を確認できます。

nginxの自動動作を設定するには、/usr/local/nginx/sbin/nginxを/etc/rc.localに追加すると、Ubuntuで実行できるようになります

リーリー

PHP5をインストール

Linux に PHP をインストールする方法については、多くの記事があり、多くのプラットフォームで既製のパッケージさえあるため、自分でコンパイルする必要はありません。

1. まず以下のようにphp補助パッケージをインストールします

よく使用されるバッグには次のものがあります


zlib-1.2.3.tar.bz2
  • jpegsrc.v6b.tar.gz libpng-1.2.22.tar.bz2 libmcrypt-2.5.8.tar.gz
  • mhash-0.9.9.9.tar.gz mcrypt-2.6.8.tar.gz

例:

リーリー

解凍

リーリー

入力

リーリー

後に実行

リーリー
その後、実行します

リーリー

残りのインストール方法は同じです。

2.上記の補助パッケージをインストールした後、phpパッケージをインストールします

ステップ
リーリー
方法は上記と同じで実行します

リーリー

最後にロードする必要があるモジュールを追加します


リーリー
(これらはロードされたモジュールであり、すべてではありません) Enter を押して実行します。

PHPの設定ファイルはphp.iniです。


PHP5 の CGI メソッドの主な利点の 1 つは、次のように、FastCGI サポートが組み込まれていることです。FastCGI モードで実行するには、バインドされたアドレスとポートのパラメーターを指定するだけです。 リーリー

nginx で実行するように設定するにはどうすればよいですか?

PHP FastCGI 用に Nginx を構成する

次の内容を fastcgi_params ファイルとして /usr/local/nginx/conf に保存してください (Ubuntu は /etc/nginx に保存できます)。FastCGI モジュールの基本的な環境変数を設定します。 リーリー 「fastcgi_script_name」行に特に注意してください。PHP-CGI は、PHP ファイルの場所を特定するためにこの行の情報を特に必要とします。

さらに、PHP-CGI 設定ファイルの cgi.fix_pathinfo オプションをオンにする必要があります (この設定ファイルは、Ubuntu の /etc/php5/cgi/php.ini にあります)。 リーリー

このようにして、php-cgi は SCRIPT_FILENAME 変数を正常に使用できるようになります。

次に、nginx 設定で、FastCGI プロセスを使用して実行されるように php ファイルを設定します。 リーリー

設定をリロードするように Nginx に通知します:

リーリー

Ubuntu ユーザーは init スクリプトを使用できます: sudo /etc/init.d/nginx reload

次に、php-cgi -b 127.0.0.1:9000を開始します

index.php をドキュメントのルート ディレクトリに置き、「phpinfo();」の内容を含めるとします。http://localhost/index.php を見ると、PHP のデバッグ情報が表示されるはずです。

PHPプロセスを構成する

php-cgi を直接使用して FastCGI を実行する方法には 2 つの問題があります (解決策があるはずです。ご存知の場合はご教示ください):

1. プロセスがクラッシュした場合の再起動の設定が難しい 2. 単一プロセスの効率が低い したがって、Lighttpd の spawn-fcgi を使用してプロセスの実行を制御できます。 spawn-fcgi を取得する方法は次のとおりです:

リーリー

これで、spawn-fcgi を使用して php-cgi の FastCGI プロセスを制御できるようになりました

/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi
パラメータの意味は以下の通りです

  • -f は、FastCGI を呼び出すプロセスの実行プログラムの場所を指定し、システムにインストールされている PHP に従って具体的に設定します
  • -a アドレス addr にバインドします
  • ;
  • -p ポート port にバインドします
  • -s Unix ソケットにバインドされたパス
  • -C は生成される FastCGI プロセスの数を指定します。デフォルトは 5 (PHP のみ) です。
  • -P は生成されたプロセスの PID ファイルのパスを指定します
  • -u および -g FastCGI はどのような ID を使用して実行しますか (-u ユーザー -g ユーザー グループ)。Ubuntu では www-data を使用できます。その他は、nobody、Apache など、状況に応じて設定されます。
  • 次に、このコード行を /etc/rc.local ファイルの最後に追加して、システムの起動と同時に PHP FastCGI プロセスを開始できるようにします。

興味があるかもしれない記事:

Linux での nginx apache mysql php のコンパイル パラメーターを確認する
  • CentOS 5.4 での Memcache のインストール手順 (Linux+Nginx+PHP+Memcached)
  • Linux+Nginx+Php をセットアップする-パフォーマンスWEBサーバー

http://www.bkjia.com/PHPjc/1084579.html

tru​​ehttp://www.bkjia.com/PHPjc/1084579.html技術記事 Linux 上で Nginx サーバー + PHP 開発環境を最初からインストールして構成します。Nginx はロシア人によって書かれた非常に軽量な HTTP サーバーであり、非常に優れています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。