- /var/www/public_html をドキュメントルートにして、
- httpd ユーザーがオーナー。
- phpinfo()
sudo がめんどくさいからとりあえず root になる。
su -みんな大好き remi リポジトリを追加する。
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpmnginx php インストール
(いろいろあるけど(゚ε゚)キニシナイ!!)
yum -y --enablerepo=remi install nginx yum -y --enablerepo=remi install mysql-server memcached php ImageMagick.x86_64 yum -y --enablerepo=remi install php-mbstring php-mysql php-pdo php-mcrypt php-soap php-xmlrpc yum -y --enablerepo=remi install php-pecl-apc php-pecl-imagick php-pecl-memcachespawn-fcgi で php-cgi をプロセスとして生かすのがナウなヤングにバカウケらしい。
yum install spawn-fcgifastcgi 起動スクリプトを用意する
#!/bin/sh # # chkconfig: 2345 85 15 # description: php-cgi - php-fastcgi swaping via spawn-fcgi # . /etc/rc.d/init.d/functions . /etc/sysconfig/network [ "$NETWORKING" = "no" ] && exit 0 spawnfcgi="/usr/bin/spawn-fcgi" php_cgi="/usr/bin/php-cgi" prog=$(basename $php_cgi) server_ip=127.0.0.1 server_port=9000 server_user=httpd server_group=httpd server_childs=5 pidfile="/var/run/php_cgi.pid" [ -f /etc/sysconfig/phpfastcgi ] && . /etc/sysconfig/phpfastcgi start() { [ -x $php_cgi ] || exit 1 [ -x $spawnfcgi ] || exit 2 echo -n $"Starting $prog: " daemon $spawnfcgi -a ${server_ip} -p ${server_port} -u ${server_user} -g ${server_group} -P ${pidfile} -C ${server_childs} -f ${php_cgi} retval=$? echo return $retval } stop() { echo -n $"Stopping $prog: " #killproc -p ${pidfile} $prog -QUIT killproc $prog retval=$? echo [ -f ${pidfile} ] && /bin/rm -f ${pidfile} return $retval } restart(){ stop sleep 2 start } rh_status(){ status -p ${pidfile} $prog } case "$1" in start) start;; stop) stop;; restart) restart;; status) rh_status;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 3 esac
これを /etc/init.d/php-fastcgi におく。
先に起動しておきます
chkconfig --add php-fastcgi chkconfig php-fastcgi on service php-fastcgi startnginx の設定
vi /etc/nginx/nginx.conf
user httpd; server { location / { root /var/www/public_html; index index.php index.htm; } location ~ \.php$ { root /var/www/public_html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/public_html$fastcgi_script_name; include fastcgi_params; } } chkconfig nginx on service nginx start/var/www/public_html/info.php に phpinfo() 書いて表示できたらいいねー。
■備考
php ファイルにアクセスしたら
No input file specified.
がでた。
/etc/init.d/php-fastcgi に書いていた、
server_user=hoge
server_group=hoge
とかになってて、パーミッションの関係でエラーになってたらしい。
正しく設定したらちゃんと表示された。
まだこれしかやってないけど、
もっと時間をみて、いろいろ弄っていきたい。
参考: http://d.hatena.ne.jp/perezvon/20091016/1255713335