Gentooのインストールと構成Nginx+MySQL+PHP(fastcgi)環境手順の共有

4671 ワード

一、Nginxをインストールするコマンドが完成した:USE=fastcgi emerge nginx
新規ユーザーとグループ:groupadd wwwuseradd www-g www
Nginxがインストールされるとデフォルトではnginxグループとnginxユーザーが追加されますが、私自身はwwwグループとwwwユーザーを新設してHTTPサービスユーザーになることに慣れています.今後HTTPサーバをapacheまたはlighttpdに変更する場合、ユーザー名とユーザーグループは変更されません.
二、MySQLをインストールPHPをインストールする前にMySQLをインストールしなければならない.PHPのMySQL操作関数にはMySQLヘッダファイルとライブラリのサポートが必要だからだ.emerge dev-db/mysql
データベースの初期化:データベースのデフォルトパスは/var/lib/mysqlで、本稿のインストールでは/work/db/3306/dataに配置します.
 
  
mkdir -p /work/db/3306/data
mysql_install_db --basedir=/usr --datadir=/work/db/3306/data --user=mysql

プロファイルの変更:vim/etc/mysql/my.cnf datadirを:datadir=/work/db/3306/dataに変更
MySQL:/etc/initを起動します.d/mysql start
rootパスワードの変更:mysqladmin-uroot password hily
テストデータベース:mysql-uroot-p
表示:gentoo setup#mysql-uroot-pEnter password:Welcome to the MySQL monitor.  Commands end with ; or\g.Your MySQL connection id is 2Server version: 5.0.84-log Gentoo Linux mysql-5.0.84-r1
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>テストに成功しました!
三、PHPをインストールfastcgi方式でPHPを運行し、PHP-FPMをインストールする必要がある.現在、PHP-FPMをpatch形式でインストールする必要がある最後のPHPバージョンは5.3.0,PHP 5.3.2バージョンではPHP-FPMを直接統合することができます.ここではPHP 5.3.を使います.0でインストールします.GentooではディレクトリにPHP-FPMのPortageが統合されていないため,以下は直接ソースコードコンパイル形式でインストールする.PHP 5.3.をダウンロードする0:wget http://cn.php.net/distributions/php-5.3.0.tar.bz2
PHP-FPMパッチのダウンロード:wgethttp://php-fpm.org/downloads/php-5.3.0-fpm-0.5.12.diff.gz
PHPを解凍してFPMパッチを打つ:tar jxf php-5.3.0.tar.bz2gzip -cd php-5.3.0-fpm-0.5.12.diff.gz | patch -d php-5.3.0 -p1
PHPのインストールに必要なライブラリ(必要に応じて):emerge libpngemerge jpegerge freetypeUSE="png jpeg truetype"emerge gdまたは直接:USE="png jpeg truetype"emerge gd
PHPの構成とコンパイル(必要に応じて):
 
  
cd php-5.3.0
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc
--with-mysql=/usr --with-mysqli=/usr/bin/mysql_config --enable-fpm --enable-sockets
--enable-pdo --with-pdo-mysql=/usr --with-gd --with-jpeg-dir --with-png-dir
--with-freetype-dir --with-zlib
make && make install

PHPプロファイル:
 
  
cp php.ini-production /usr/local/php/etc/php.ini

PHP-FPMプロファイル:vim/usr/local/php/etc/php-fpm.conf修正listen_addressはsocketアドレス(socketはIP:Portより効率的):/tmp/php-fpm.sock
ユーザー・グループとユーザー名の変更:
 
  
Unix user of processes
www
Unix group of processes
www

PHP-FPM運転モードをApache-Likeモードに変更する:
 
  
apache-like
1
1
5

StartServers、MinSpareServers、MaxSpareServersは実際の必要に応じて設定されています.私のところは仮想マシンなので、あまり大きくする必要はありません.
PHP-FPM起動スクリプト:cp/usr/local/php/sbin/php-fpm/etc/init.d/php-fpm
PHP-FPM/etc/initを起動する.d/php-fpm start
起動サービスの追加
 
  
rc-update add nginx default
rc-update add mysql default
rc-update add php-fpm default

試験Nginx+PHP
テストサイトディレクトリを追加するには、次の手順に従います.
 
  
mkdir -p /work/www/test
echo "" > /work/www/test/index.php

テストサイトのNginx構成を追加:vim/etc/nginx/nginx.conf
注記serverセグメントを削除し、httpセグメントの末尾に:include sites/*を追加します.enable;
その後、各サイトのプロファイルは独立したファイルで/etc/nginx/sitesディレクトリに保存され、管理とメンテナンスが容易になります.mkdir/etc/nginx/sitesvim/etc/nginx/test.enable
test.enableの構成は次のとおりです.
 
  
   server {
    listen       80;
    server_name  test.local;
    access_log  /work/www/logs/test.access.log  main;
    error_log  /work/www/logs/test.error.log;
    location / {
    root   /work/www/test;
    index  index.html index.htm index.php;
    }
    location ~ \.php$ {
    root           /work/www/test;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    include        fastcgi_params;
    fastcgi_pass   unix:/tmp/php-fpm.sock;
    }
    }

新規ストレージログディレクトリ:mkdir/work/www/logs
ローカルhostsに記録を追加:192.168.1.10    test.local192.168.1.10は私のこのGentooマシンのIPです.
Nginx構成/etc/initを再ロードします.d/nginx reload
アクセス:http://test.local/正常なphpinfo情報が表示されると、インストールが完了します.