LNMP CentOS 6.x fastcgi spawn-fcgi v1

东方志尚
2023-12-01

LNMP在CentOS 6下的配置LNMP在CentOS 5下的配置区别不大,主要区别是使用的EPEL源不同,版本要高一些,里面的RPM包的版本也要高一些。

一、系统更新

在准备配置LNMP环境的时候我们把系统更新到最新

yum update

二、安装nginx

1、自动(yum)安装nginx,使用EPEL源安装

rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
yum update
yum install nginx sudo

这样安装的nginx版本应该是0.8.54,不会是nginx官方最新稳定版本。使用最新版请用2步骤,如果不需要请跳过2。

2、使用nginx官方源安装

rpm -Uvh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum install nginx

3、设为开机启动

/etc/init.d/nginx start
chkconfig --add nginx
chkconfig nginx on

三、安装PHP使用FastCGI

1、安装PHP

这里我们使用spawn-fcgi来管理php-fastcgi。

yum install php-cli php spawn-fcgi wget

注:如果是想安装php所有扩展,使用:

yum install php php-* spawn-fcgi wget

建立php-fastcgi服务,需要新建文件/usr/bin/php-fastcgi,输入以下内容:

#!/bin/sh

if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
   FASTCGI_USER=nginx
elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
   FASTCGI_USER=www-data
elif [ `grep -c "http" /etc/passwd` = "1" ]; then
   FASTCGI_USER=http
else
# Set the FASTCGI_USER variable below to the user that
# you want to run the php-fastcgi processes as

FASTCGI_USER=
fi

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u $FASTCGI_USER -f /usr/bin/php-cgi

新建/etc/init.d/php-fastcgi,输入以下内容:

#!/bin/sh

# php-fastcgi - Use php-fastcgi to run php applications
#
# chkconfig: - 85 15
# description: Use php-fastcgi to run php applications
# processname: php-fastcgi

if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
   OWNER=nginx
elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
   OWNER=www-data
elif [ `grep -c "http" /etc/passwd` = "1" ]; then
   OWNER=http
else
# Set the OWNER variable below to the user that
# you want to run the php-fastcgi processes as

OWNER=
fi

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/php-fastcgi

NAME=php-fastcgi
DESC=php-fastcgi

test -x $DAEMON || exit 0

# Include php-fastcgi defaults if available
if [ -f /etc/default/php-fastcgi ] ; then
    . /etc/default/php-fastcgi
fi

set -e

case "$1" in
  start)
    echo -n "Starting $DESC: "
    sudo -u $OWNER $DAEMON
    echo "$NAME."
    ;;
  stop)
    echo -n "Stopping $DESC: "
    killall -9 php-cgi
    echo "$NAME."
    ;;
  restart)
    echo -n "Restarting $DESC: "
    killall -9 php-cgi
    sleep 1
    sudo -u $OWNER $DAEMON
    echo "$NAME."
    ;;
      *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart}" >&2
        exit 1
        ;;
    esac
    exit 0

设为开机启动

chmod +x /usr/bin/php-fastcgi
chmod +x /etc/init.d/php-fastcgi
service php-fastcgi start
chkconfig --add php-fastcgi
chkconfig php-fastcgi on

修改/etc/sudoers,在Defaults requiretty加#号

# Defaults requiretty

2、配置nginx with PHP的虚拟机

在/etc/nginx/conf.d中新建example.com.conf(example.com是你的域名哦,不要写错了,/srv/www/example.com/public_html是你的网站存放目录),输入以下内容:

server {
    server_name www.example.com example.com;
    access_log /srv/www/example.com/logs/access.log;
    error_log /srv/www/example.com/logs/error.log;
    root /srv/www/example.com/public_html;

    location / {
        index index.html index.htm index.php;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /srv/www/example.com/public_html$fastcgi_script_name;
    }
}

重启nginx就可以了

/etc/init.d/nginx restart

四、安装MySQL数据库

安装MysSQL Server

yum install mysql-server php-mysql
/etc/rc.d/init.d/mysqld start
chkconfig mysqld on

安全配置

mysql_secure_installation
mysql -u root -p

这个时候需要输入MYSQL密码,是否允许外部域链接数据库等设置,你可以根据提示完成密码设置,我们这里不详细介绍了。

五、完成LNMP的安装

重启PHP

/etc/init.d/php-fastcgi restart

所有LNMP在CentOS 6下的配置就完成了

 类似资料:

相关阅读

相关文章

相关问答