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に配置します.
プロファイルの変更: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の構成とコンパイル(必要に応じて):
PHPプロファイル:
PHP-FPMプロファイル:vim/usr/local/php/etc/php-fpm.conf修正listen_addressはsocketアドレス(socketはIP:Portより効率的):/tmp/php-fpm.sock
ユーザー・グループとユーザー名の変更:
PHP-FPM運転モードをApache-Likeモードに変更する:
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
起動サービスの追加
試験Nginx+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の構成は次のとおりです.
新規ストレージログディレクトリ: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情報が表示されると、インストールが完了します.
新規ユーザーとグループ: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情報が表示されると、インストールが完了します.