GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu8.10でのPHP5とMySQLサポートを使用したNginxのインストール

Nginx(「エンジンx」と発音)は、無料のオープンソースの高性能HTTPサーバーです。 Nginxは、その安定性、豊富な機能セット、シンプルな構成、および低リソース消費で知られています。このチュートリアルでは、PHP5サポート(FastCGIを介して)およびMySQLサポートを備えたUbuntu8.10サーバーにNginxをインストールする方法を示します。

1予備メモ

このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100を使用します。これらの設定はユーザーによって異なる場合があるため、必要に応じて置き換える必要があります。

2MySQL5.0のインストール

MySQLをインストールするには、

を実行します。
apt-get install mysql-server mysql-client

MySQLルートユーザーのパスワードを入力するように求められます。このパスワードは[メール保護]ユーザーと[メール保護]ユーザーに有効であるため、後でMySQLルートパスワードを手動で指定する必要はありません。

MySQLの「root」ユーザーの新しいパスワード:<-yourrootsqlpassword
MySQLの「root」ユーザーのパスワードを繰り返します:<-yourrootsqlpassword

3Nginxのインストール

NginxはUbuntu8.10のパッケージとして提供されており、次のようにインストールできます。

apt-get install nginx

その後nginxを開始します:

/etc/init.d/nginx start

ウェブサーバーのIPアドレスまたはホスト名をブラウザ(例:http://192.168.0.100)に入力すると、nginxのウェルカムページが表示されます:

起動時にnginxを起動するには、

を実行します
update-rc.d nginx defaults

4PHP5のインストール

FastCGIを介してnginxでPHP5を動作させることができます。幸い、UbuntuはFastCGI対応のPHP5パッケージを提供しており、このようにインストールします(PHPスクリプトからMySQLを使用する場合に必要なphp5-mysqlなどのPHP5モジュールと一緒に):

apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

次に、/ etc / php5 / cgi / php.iniを開き、ファイルの最後にcgi.fix_pathinfo=1という行を追加します。

vi /etc/php5/cgi/php.ini
[...]
cgi.fix_pathinfo = 1

Ubuntu用のスタンドアロンのFastCGIデーモンパッケージはないため、lighttpdのspawn-fcgiプログラムを使用します。次のようにlighttpdをインストールします:

apt-get install lighttpd

ポート80がすでに使用されているため、lighttpdを起動できなかったことを示すエラーメッセージが表示されます。 nginxはすでにポート80でリッスンしているため、このようになっているはずです。実行

update-rc.d -f lighttpd remove

lighttpdが起動時に起動しないようにします。

パッケージに付属するプログラム/usr/ bin / spawn-fcgiが1つだけ必要なため、lighttpdをインストールしました。これを使用して、FastCGIプロセスを開始できます。見てください

spawn-fcgi --help

詳細については、

ローカルホストのポート9000でリッスンし、ユーザーおよびグループwww-dataとして実行するPHP FastCGIデーモンを起動するには、次のコマンドを実行します。

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

もちろん、システムを起動するたびにそのコマンドを手動で入力する必要はないため、起動時にシステムにコマンドを自動的に実行させるには、/ etc / rc.local ...

を開きます。
vi /etc/rc.local

...そしてファイルの最後(出口行の前)にコマンドを追加します:

[...]
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
[...]

5nginxの構成

nginx構成は/etc/nginx/nginx.confにあり、これを今開いています:

vi /etc/nginx/nginx.conf

構成は簡単に理解できます(詳細については、http://wiki.codemongers.com/NginxFullExampleおよびここ:http://wiki.codemongers.com/NginxFullExample2を参照してください)

まず(これはオプションです)、ワーカープロセスの数を増やし、keepalive_timeoutを適切な値に設定します。

[...]
worker_processes  5;
[...]
    keepalive_timeout  2;
[...]

仮想ホストはサーバー{}コンテナで定義されます。デフォルトの仮想ホストはファイル/etc/ nginx / sites-available /defaultで定義されています-次のように変更しましょう:

vi /etc/nginx/sites-available/default
[...]
server {
        listen   80;
        server_name  _;

        access_log  /var/log/nginx/localhost.access.log;

        location / {
                root   /var/www/nginx-default;
                index  index.php index.html index.htm;
        }

        location /doc {
                root   /usr/share;
                autoindex on;
                allow 127.0.0.1;
                deny all;
        }

        location /images {
                root   /usr/share;
                autoindex on;
        }

        #error_page  404  /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   /var/www/nginx-default;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
                #proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /var/www/nginx-default$fastcgi_script_name;
                include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny  all;
        }
}
[...]

サーバー名 _;これをデフォルトのキャッチオール仮想ホストにします(もちろん、www.example.comのようにここでホスト名を指定することもできます)。

場所/部分で、インデックス行にindex.phpを追加しました。ルート/var/ www / nginx-default;ドキュメントルートがディレクトリ/var/ www/nginx-defaultであることを意味します。

PHPの重要な部分は、場所〜\ .php${}スタンザです。コメントを外して有効にします。 fastcgi_param行をfastcgi_paramSCRIPT_FILENAME/ var / www / nginx-default$fastcgi_script_nameに変更してください。 (/ var / www / nginx-defaultをvhostのドキュメントルートに置き換えます)そうしないと、PHPインタープリターがブラウザーで呼び出したPHPスクリプトを見つけられないためです。

includeとfastcgi_paramsの間にスペースがあることを確認してください。 -デフォルトのファイルでは、これはバグである1つの単語として記述されています。

次に、ファイルを保存してnginxを再起動します:

/etc/init.d/nginx restart

次に、ドキュメントルート/ var / www/nginx-defaultに次のPHPファイルを作成します。

vi /var/www/nginx-default/info.php
<?php
phpinfo();
?>

次に、そのファイルをブラウザ(http://192.168.0.100/info.phpなど)で呼び出します。

ご覧のとおり、サーバーAPI行に示されているように、PHP5は機能しており、FastCGIを介して機能しています。さらに下にスクロールすると、MySQLモジュールを含むPHP5ですでに有効になっているすべてのモジュールが表示されます。

  • nginx:http://nginx.net/
  • nginx Wiki:http://wiki.codemongers.com/Main
  • PHP:http://www.php.net
  • MySQL:http://www.mysql.com
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Ubuntu 14.04 LTSにPHP5(およびPHP-FPM)とMySQLサポート(LEMP)を使用してNginxをインストールする

  2. Ubuntu 14.04LTS(LAMP)にPHP5とMySQLをサポートするApache2をインストールする

  3. Ubuntu11.10にPHP5とMySQLを使用してNginxをインストールする方法

  1. PHP5(PHP-FPM)とMySQLサポートを備えたLighttpdをUbuntu14.04LTSにインストールする

  2. OpenSUSE 13.1(LAMP)でのPHP5およびMySQLサポートを使用したApache2のインストール

  3. Ubuntu10.04にPHP5とMySQLをサポートするLighttpdをインストールする

  1. PHP5(PHP-FPM)とMySQLサポートを備えたLighttpdをUbuntu12.04にインストールする

  2. Ubuntu 12.04 LTSにPHP5(およびPHP-FPM)とMySQLサポート(LEMP)を使用してNginxをインストールする

  3. Ubuntu 13.04にPHP5(およびPHP-FPM)とMySQLサポート(LEMP)を使用してNginxをインストールする