Dalam tutorial ini, kami akan menunjukkan kepada Anda cara menginstal Nginx Dengan PHP-FastCGI di CentOS 6. Bagi Anda yang belum tahu, Nginx adalah salah satu server web paling populer di dunia dan bertanggung jawab untuk menghosting beberapa situs terbesar dan dengan lalu lintas tertinggi di internet. Dalam banyak kasus, ini lebih ramah sumber daya daripada Apache dan dapat digunakan sebagai server web atau proxy terbalik.
Artikel ini mengasumsikan Anda memiliki setidaknya pengetahuan dasar tentang Linux, tahu cara menggunakan shell, dan yang terpenting, Anda meng-host situs Anda di VPS Anda sendiri. Instalasinya cukup sederhana. Saya akan menunjukkan kepada Anda langkah demi langkah penginstalan Nginx dengan fast-CGI di server CentOS 6.
Instal Nginx Dengan PHP-FastCGI di CentOS 6
Langkah 1. Untuk menginstal, pertama-tama, Anda harus menambahkan informasi repositori EPEL yum yang sesuai dengan versi CentOS/RHEL Anda.
## 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
Langkah 2. Instal paket dan dependensi Nginx.
Menginstal Nginx menggunakan perintah berikut:
yum update yum -y install nginx
Langkah 3. Instal paket PHP yang diperlukan.
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
Langkah 4. Instal spawn-fcgi.
Sekarang kita menginstal spawn-fcgi
menggunakan perintah berikut di bawah ini:
yum install spawn-fcgi -y
Konfigurasi skrip init 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
Langkah 5. Konfigurasi server web 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; } }
Langkah 5. Mulai layanan Nginx dan PHP-FastCGI.
etc/init.d/nginx start etc/init.d/php-cgi start
Penting :Untuk alasan keamanan, Anda ingin mengubah/menambahkan baris berikut ke /etc/php.ini dan memulai ulang Nginx:
cgi.fix_pathinfo=0
Selamat! Anda telah berhasil menginstal Nginx dan PHP-FastCGI. Terima kasih telah menggunakan tutorial ini untuk menginstal Nginx dan PHP-FastCGI pada sistem CentOS 6. Untuk bantuan tambahan atau informasi berguna, kami sarankan Anda memeriksa situs web resmi Nginx.