在本教程中,我们将向您展示如何在 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 官方网站.