您的位置:首页 > 运维架构 > Nginx

centos yum配置mysql-5.5/5.1 php 5.3 nginx安装 spawn-fcgi 安装 php-fpm启动

2012-08-29 21:54 1011 查看
参考网站:http://www.centos.bz/2012/05/centos-5-yum-mysql-5-5-1/

导入第三方源webtatic

rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
安装MySQL client

yum install libmysqlclient15 --enablerepo=webtatic

删除存在的mysql

yum remove mysql mysql-*

安装mysql

yum install mysql55 mysql55-server --enablerepo=webtatic

yum install mysql51 mysql51-server --enablerepo=webtatic

启动并升级mysql

service mysqld start

mysql_upgrade

同样在此下面安装php5.3:

首先直接用 yum install php 安装原版php 然后再进行升级

相关php 5.3的文件都在:http://repo.webtatic.com/yum/centos/5/i386/

安装参照:http://www.webtatic.com/packages/php53/

yum --enablerepo=webtatic install php

yum --enablerepo=webtatic update php


php 相关安装的很多重要类库:

yum --enablerepo=webtatic install php-bcmath php-dba php-devel php-fpm php-imap php-intl php-mbstring php-mcrypt php-mhash php-odbc php-pdo php-pear php-pecl-apc php-pecl-memcache php-pecl-xdebug php-process php-pspell php-recode php-snmp php-soap php-tidy
php-xml php-xmlrpc php-zts

nginx 安装:

通过

yum --enablerepo=webtatic install nginx

nginx 安装完成之后,php使用fastcgi启动需要配置 spawn-fcgi

1.参考网站:http://bbs.linuxtone.org/thread-4908-1-1.html (基于CentOS 5.4搭建nginx+php+spawn-fcgi+mysql高性能php平台)

spawn-fcgi下载地址: 下载地址:http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz

#tar zvxf spawn-fcgi-1.6.3.tar.gz

#cd spawn-fcgi-1.6.3

#./configure && make && make install

安装完成后会在 /usr/local/bin/spawn-fcgi

完成之后 使用 ln -s /usr/local/bin/spawn-fcgi /usr/bin/ 创建软链

-----------------------------------------

2.除了使用fastcgi方式 php如果单个程序的话可以直接进行挂载使用以下方法

参考网站:http://www.cnblogs.com/jsckdao/archive/2011/05/05/2038265.html

使用 nohup ./php-cgi -b 9000 直接进行挂载

-----------------------------------------

3.通过nginx配置多个 fastcgi_pass 做负责均衡

参考网站:http://hi.baidu.com/ylj798/item/f8aad0dfd9ee9916e0f46ffc (一个简单的nginx加多个fastcgi的负载均衡配置过程)

先在http段中加入下面一段

upstream fastcgi {

server 127.0.0.1:9000 weight=1;

server 192.168.0.2:9000 weight=2;

}

然后把原来的 fastcgi_pass 127.0.0.1:9000;

改为 fastcgi_pass fastcgi;

重启nginx,看看服务器B的状态,cpu的使用率马上就上来了,而服务器A的cpu使用率和负载都下降了不少。

做这样的负载均衡,不需要什么复杂的配置,不影响原站点的访问。速度快,工作量少。还是有些可取之处的。

------------------------------------------------

4.nginx的配置方式:

nginx 可以在 nginx.conf 中配置

也可以在 conf.d 中虚拟目录中配置:

server {
listen 80;
server_name test.com;
server_name www.test.com;
location / {
root /var/www/html;
index index.html index.htm index.php;
}

location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
include fastcgi_params;
}
}
#如果有多个,增加多个php的相关节点

nginx 通过 nginx -t

nginx reload

service nginx start/stop/restart 来进行操作

--------------------------------------------------------------------------------

5.配置自动启动nginx+fastcgi-spwan 的shell脚本:

参考网站:http://club.topsage.com/thread-522550-1-1.html (Nginx、php-cgi启动停止脚本) 主要
http://forum.ubuntu.org.cn/viewtopic.php?t=323830(自启动脚本参考)
为了方便Nginx和php-cgi的启动停止写了一个脚本,将下面脚本保存为/etc/init.d/nginxd,支持

service nginxd start|stop|restart|reload|status

添加了chkconfig和des 就可以使用 chkconfig --add 名称 来添加服务 ,来进行开机指定项的启动~~~~~

这边参考:http://hi.baidu.com/jcy168/item/ba8a141bd29c10436826bb74

#!/bin/sh
# nginxd - this script starts and stops the nginx and php-cgi daemon
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginxd
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid
# source function library
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

RETVAL=0
prog="nginx"

nginxDir=/etc/nginx
nginxd=/usr/sbin/nginx
nginxConf=$nginxDir/nginx.conf
nginxPid=$nginxDir/logs/nginx.pid

nginx_check()
{
if [[ -e $nginxPid ]]; then
ps aux |grep -v grep |grep -q nginx
if (( $? == 0 )); then
echo "$prog already running..."
exit 1
else
rm -rf $nginxPid &> /dev/null
fi
fi
}

phpcgi_check()
{
netstat -tunlp |grep -q php-cgi
if (( $? == 0 )); then
echo "php-cgi already running..."
return 1
fi
}

phpcgi_start()
{
phpcgi_check
if (( $? == 0 )); then
echo -n $"Starting php-cgi:"
daemon /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nobody -g nobody -C 64 -f /usr/bin/php-cgi
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/php-cgi
return $RETVAL
fi
}

phpcgi_stop()
{
echo -n $"Stopping php-cgi:"
phpcgi_pid=`netstat -tnlp |grep php-cgi |awk '{print $7}' |awk -F'/' '{print $1}'`
kill -9 $phpcgi_pid &>/dev/null
RETVAL=$?
killall -9 php-cgi &>/dev/null
RETVAL=$RETVAL+$?
if (( $RETVAL == 0 )); then
echo_success
else
echo_failure
fi
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/php-cgi
}

start()
{
nginx_check
if (( $? != 0 )); then
true
else
echo -n $"Starting $prog:"
daemon $nginxd -c $nginxConf
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
fi
}

stop()
{
echo -n $"Stopping $prog:"
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx $nginxPid
}

reload()
{
echo -n $"Reloading $prog:"
killproc $nginxd -HUP
RETVAL=$?
echo
}

case "$1" in
start)
phpcgi_start
start
;;
stop)
phpcgi_stop
stop
;;
restart)
phpcgi_stop
stop
phpcgi_start
start
;;
reload)
reload
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status}"
RETVAL=1
esac
exit $RETVAL


改脚本完全可以ok~

---------------------------------------------------

6.另一则 CentOS+nginx+spawn-fcgi+php5.3配置记录

参考网站:http://dev.yidianhulian.com/2011/01/19/how-to-install-php53-on-centos/ (下载源进行安装的过程)
http://dev.yidianhulian.com/2011/03/05/centosnginxspawn-fcgiphp5-3%E9%85%8D%E7%BD%AE%E8%AE%B0%E5%BD%95/ (nginx和fastcgi配置 不错)

7 php-fpm 启动PHP

安装:

yum -y install nginx mysql-server php-fpm php-cli php-pdo php-mysql php-mcrypt php-mbstring php-gd php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator

启动:

/etc/rc.d/init.d/php-fpm start

参考网站:

centos 6.4使用yum安装nginx + php + mysql
http://www.openfans.org/forum.php?mod=viewthread&tid=3619
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: