如何在 CentOS 6 上使用 PHP-FastCGI 安装 Nginx

在本教程中,我们将向您展示如何在 CentOS 6 上使用 PHP-FastCGI 安装 Nginx。对于那些不知道的人,Nginx 是世界上最流行的 Web 服务器之一,它负责托管一些互联网上最大和流量最高的网站。 它比资源更友好 Apache 在大多数情况下,可以用作 Web 服务器或反向代理。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单。 我将向您展示在 CentOS 6 服务器上使用 fast-CGI 逐步安装 Nginx。

在 CentOS 6 上使用 PHP-FastCGI 安装 Nginx

Step 1. 要安装,首先,您必须添加与您的 CentOS/RHEL 版本对应的 EPEL yum 存储库信息。

## RHEL/CentOS 6 32-Bit ## # wget https://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm
## RHEL/CentOS 6 64-Bit ## # wget https://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm

步骤 2. 安装 Nginx 包和依赖项。

使用以下命令安装 Nginx:

yum update yum -y install nginx

步骤 3. 安装所需的 PHP 包。

yum install php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy

步骤 4. 安装 spawn-fcgi。

现在我们安装 spawn-fcgi 使用以下命令:

yum install spawn-fcgi -y

配置 Fast-CGI 初始化脚本:

nano /etc/init.d/php-cgi
#!/bin/sh # # php-cgi - php-fastcgi swaping via spawn-fcgi # # chkconfig: - 85 15 # description: Run php-cgi as app server # processname: php-cgi # config: /etc/sysconfig/phpfastcgi (defaults RH style) # pidfile: /var/run/php-cgi.pid . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network       # Check that networking is up. [ "$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=nginx server_group=nginx server_childs=5 pidfile="/var/run/php_cgi.pid"       # do not edit, put changes in /etc/sysconfig/phpfastcgi [ -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 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
chmod +x /etc/init.d/php-cgi

步骤 5. 配置 Nginx 网络服务器。

#nano /etc/nginx/conf.d/idroot.us.conf  server {    listen  80;    server_name  idroot.us www.idroot.us;      access_log  /var/www/idroot.us/logs/access.log ;    error_log    /var/www/idroot.us/logs/error.log ;      location / {        root   /var/www/idroot.us/public_html;        index  index.php index.html index.htm;      }      error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /var/www/idroot.us/public_html;    }   # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000   location ~ .php$ {   fastcgi_pass   127.0.0.1:9000;   fastcgi_index  index.php;   root    /var/www/idroot.us/public_html;   fastcgi_param  SCRIPT_FILENAME  /var/www/idroot.us/public_html$fastcgi_script_name;   include fastcgi_params;   }     location ~ /.ht {        deny  all;    } }

步骤 5. 启动 Nginx 和 PHP-FastCGI 服务。

etc/init.d/nginx start etc/init.d/php-cgi start

重要的:出于安全原因,您需要更改/添加以下行到 /etc/php.ini 并重新启动 Nginx:

cgi.fix_pathinfo=0

恭喜! 您已成功安装 Nginx 和 PHP-FastCGI。 感谢您使用本教程在 CentOS 6 系统上安装 Nginx 和 PHP-FastCGI。 如需更多帮助或有用信息,我们建议您查看 Nginx 官方网站.