目次
1. nginx をインストールして起動します
2. php と関連する
3. FastCGI
4. PHP-FPM
5. PHP サイトを実行します
ホームページ バックエンド開発 PHPチュートリアル Ubuntu で nginx+php+fastcgi を構成するプロセス

Ubuntu で nginx+php+fastcgi を構成するプロセス

Jun 23, 2016 pm 01:43 PM

過去 2 日間、Ubuntu14.04 で nginx と php 環境をセットアップする必要があり、fastcgi の問題に多くの時間を費やしました。 , そこで、プロセス全体を記録してみんなに共有することにしました。


準備:

apt-get update
ログイン後にコピー


1. nginx をインストールして起動します

apt-get install nginxsudo /etc/init.d/nginx start
ログイン後にコピー

2. php と関連する

sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql
ログイン後にコピー
をインストールします。

3. FastCGI

を実行する前にこれを行う必要があります。 FastCGI については、C/S 構造を採用しており、HTTP サーバーが動的リクエストを受信したときに、HTTP サーバーとスクリプト解析サーバーを分離することができます。リクエストは FastCGI プロセスに転送され、FastCGI プロセスは動的スクリプトを実行し、結果を HTTP サーバーに返します。これにより、HTTP サーバーは最終的に結果をブラウザに返します。これにより、リクエストの応答速度が大幅に向上します。


FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI を実装するにはいくつかの方法があります

PHP-CGI は、PHP に付属する FastCGI マネージャーです。次のコマンドを使用して PHP-CGI を開始できます。

php- cgi -b 127.0.0.1:9000

PHP-CGI には 2 つの問題があります。1 つは、php.ini を変更した後、有効にするために php-cgi を再起動する必要があることです。もう 1 つは、php.ini を変更した後に php を実行できないことです。 php-cgi プロセスがクラッシュするか強制終了されます。


PHP-FPM は、PHP 5.3.3 以降に追加された新しい CGI マネージャーです。PHP の設定変更後の再起動の必要がなく、デーモンの追加により強制終了してもすぐに再起動できます。


Spawn-FCGI は、単なる PHP 用のスクリプト言語ではなく、汎用の FastCGI マネージャーです。ただし、効率と CPU 使用率の点では PHP-FPM より劣ります。


4. PHP-FPM

PHP-FPM が最良の方法なので、今すぐ設定しましょう。 PHP-FPM は独立したプロセスであるため、Nginx と通信する必要があります。現在、通信方式には tcp とソケットの 2 つがあります。 2 つの方法の違いと設定方法については、次の 2 つの記事を参照してください:

nginx と php-fpm の通信は Unix ソケットまたは TCP を使用し、その設定

Php-fpm TcpSocket と UnixSocket


ここで設定方法を見てみましょう。どちらの方法も主に nginx 設定ファイル (/etc/nginx/sites-available/default) と fpm 設定ファイル (/etc/php5/fpm/pool.d/www.conf) を変更します。 )。


TCP 構成方法では、nginx 構成ファイル内の対応するリバース プロキシの fastcgi_pass パラメーターを 127.0.0.1:9000 に変更し、fpm 構成ファイル内の listen パラメーターを 127.0.0.1:9000 に変更する必要があります。


ソケット構成方法では、nginx 構成ファイル内の対応するリバース プロキシの fastcgi_pass パラメーターを unix:/dev/shm/fpm-cgi.sock に変更し、fpm 構成ファイル内の listen パラメーターを / に変更する必要があります。 dev/shm/fpm-cgi.sock で、高い同時実行性を考慮する場合は、listen.backlog パラメータを -1 に変更すると、メモリ バックログが無限になります。さらに、/etc/sysctl.conf を変更してカーネル レベルで同時接続の数を増やすこともできます。

sudo echo 'net.core.somaxconn = 2048' >> /etc/sysctl.confsudo sysctl -p
ログイン後にコピー

両方の設定方法を変更した後、php-fpm と nginx を再起動する必要があります。

sudo service php5-fpm restartsudo /etc/init.d/nginx reload
ログイン後にコピー


5. PHP サイトを実行します

上記の設定が完了したら、テストするための簡単な PHP ページを作成できます。

Web サイトのディレクトリを作成します:

sudo mkdir /var/www/
ログイン後にコピー

nginx 構成ファイルのルート ディレクトリを root /var/www に変更します。

テスト ページを追加します:

sudo vi /var/www/test.php
ログイン後にコピー

次のコードを追加します。リーリー


この時、ブラウザにアドレス http://localhost/test.php を入力すると、phpの情報が表示されます。


一般的に使用されるコマンド:

1. nginx の起動エラーを確認します

<?php phpinfo();?>
ログイン後にコピー



役に立ったと思われる場合は、助けていただければ幸いです、ありがとう:)

個人ブログ: http://blog.csdn.net/zhaoxy2850

この記事のアドレス:
転載の際は出典を明記してください、よろしくお願いします!


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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles