V tomto tutoriálu vám ukážeme, jak nainstalovat Nginx s PHP-FastCGI na CentOS 6. Pro ty z vás, kteří nevěděli, Nginx je jedním z nejpopulárnějších webových serverů v světě a je zodpovědný za hostování některých z největších a nejnavštěvovanějších stránek na internetu. Ve většině případů je šetrnější ke zdrojům než Apache a lze jej použít jako webový server nebo reverzní proxy.
Tento článek předpokládá, že máte alespoň základní znalosti Linuxu, víte, jak používat shell, a co je nejdůležitější, hostujete své stránky na vlastním VPS. Instalace je poměrně jednoduchá. ukáže vám krok za krokem instalaci Nginx s rychlým CGI na server CentOS 6.
Nainstalujte Nginx s PHP-FastCGI na CentOS 6
Krok 1. Chcete-li nainstalovat, musíte nejprve přidat informace o úložišti EPEL yum odpovídající vaší verzi CentOS/RHEL.
## RHEL/CentOS 6 32-Bit ## # wget http://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 http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm
Krok 2. Nainstalujte balíček Nginx a závislosti.
Instalace Nginx pomocí následujícího příkazu:
yum update yum -y install nginx
Krok 3. Nainstalujte požadované balíčky 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
Krok 4. Nainstalujte spawn-fcgi.
Nyní nainstalujeme spawn-fcgi
pomocí následujícího příkazu:
yum install spawn-fcgi -y
Nakonfigurujte iniciační skript 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
Krok 5. Nakonfigurujte webový server 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; } }
Krok 5. Spusťte službu Nginx a PHP-FastCGI.
etc/init.d/nginx start etc/init.d/php-cgi start
Důležité :Z bezpečnostních důvodů budete chtít změnit/přidat následující řádek do /etc/php.ini a restartovat Nginx:
cgi.fix_pathinfo=0
Blahopřejeme! Úspěšně jste nainstalovali Nginx a PHP-FastCGI. Děkujeme, že jste použili tento návod k instalaci Nginx a PHP-FastCGI na systémy CentOS 6. Pro další nápovědu nebo užitečné informace doporučujeme zkontrolovat oficiální webové stránky Nginx.