Nginx met PHP5 en MySQL ondersteuning op CentOS 6.4

Installeer Nginx met PHP5 (PHP-FPM) en MySQL ondersteuning op CentOS 6.4

NGINX e1384524379987 Nginx met PHP5 en MySQL ondersteuning op CentOS 6.4 vps server dedicated servers Nginx (engine x) is een gratis high-performance alternatief voor Apache.

Heb je een druk bezochte website en ben je niet tevreden met de snelheid tijdens piek momenten? Probeer dan eens Nginx, dit is de snelst geteste webserver.

In deze tutorial ga ik uitleggen hoe je Nginx installeert op CentOS 6.4 i.c.m. PHP-FPM en MySQL ondersteuning.

1. We beginnen met het toevoegen van de EPEL en REMI repository (php-fpm is niet beschikbaar in de standaard centos repo)

rpm –import https://fedoraproject.org/static/0608B895.txt
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm –import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum install yum-priorities

Nu passen we de epel en remi repo aan.

nano /etc/yum.repos.d/epel.repo

Voeg de lijn priority=10 toe.

[epel]

name=Extra Packages for Enterprise Linux 6 -$basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

Doe hetzelfde bij de remi repo.

nano /etc/yum.repos.d/remi.repo

 

2. MySQL 5 installeren

yum install mysql mysql-server

chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start

Controleer voor de zekerheid of MySQL draait.

netstat -tap | grep mysql

Als je geen output terug krijgt pas dan /etc/my.cnf aan. Comment het volgende uit.

[...]
#skip-networking
[...]

Herstart de MySQL server nu.

/etc/init.d/mysqld restart

Voer het volgende commando uit.

mysql_secure_installation

Nu kun je een root wachtwoord instellen voor MySQL.

3. Nginx installeren.

Het is tijd om Nginx te installeren vanuit de EPEL repo die we hebben toegevoegd.

yum install nginx

chkconfig –levels 235 nginx on
/etc/init.d/nginx start

Ga naar het IP/hostname van de server en je zou de standaard Nginx welkom pagina moeten zien.

4. PHP5 installeren

Nu installeren we PHP5 (FPM) met MySQL ondersteuning vanuit de REMI repo.

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

Nu passen we de php.ini aan.

nano /etc/php.ini

voeg cgi.fix_pathinfo=0 toe.

Tevens voegen we onze tijdzone toe om errors/warnings te voorkomen.

[...]

[Date] ; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone = “Europe/Amsterdam”

[...]

Start php-fpm.

chkconfig –levels 235 php-fpm on
/etc/init.d/php-fpm start

 

5. Nginx configureren

We configureren de standaard v-host.

nano /etc/nginx/conf.d/default.conf

Pas het aan naar dit voorbeeld.

[...]

server {

listen 80;

server_name _;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

root /usr/share/nginx/html;

index index.php index.html index.htm;

}

error_page 404 /404.html;

location = /404.html {

root /usr/share/nginx/html;

}

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

#

#location ~ \.php$ {

# proxy_pass http://127.0.0.1;

#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

root /usr/share/nginx/html;

try_files $uri =404;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

# deny access to .htaccess files, if Apache’s document root

# concurs with nginx’s one

#

location ~ /\.ht {

deny all;

}

}
Sla het bestand op en start nginx.

/etc/init.d/nginx restart

 

6. PHP-FPM als unix socket

Het is ook mogelijk om php-fpm te laten draaien als een unix socket i.p.v. op een poort laten luisteren. Dit vermijd TCP overhead.

Om dit te doen open je /etc/php-fpm.d/www.conf

Pas dit aan bij de listen regel.

[...]

;listen = 127.0.0.1:9000

listen = /tmp/php5-fpm.sock

[...]

open nu /etc/nginx/conf.d/default.conf en pas het volgende aan.

fastcgi_pass 127.0.0.1:9000; >>> fastcgi_pass unix:/tmp/php5-fpm.sock;

[...]

location ~ \.php$ {

root /usr/share/nginx/html;

try_files $uri =404;

fastcgi_pass unix:/tmp/php5-fpm.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

[...]

 

Veel plezier met de snelle webserver.

Gerelateerde artikelen:
websites sneller minder load

Deel gauw met anderen:facebook Nginx met PHP5 en MySQL ondersteuning op CentOS 6.4 vps server dedicated servers twitter Nginx met PHP5 en MySQL ondersteuning op CentOS 6.4 vps server dedicated servers google Nginx met PHP5 en MySQL ondersteuning op CentOS 6.4 vps server dedicated servers pinterest Nginx met PHP5 en MySQL ondersteuning op CentOS 6.4 vps server dedicated servers linkedin Nginx met PHP5 en MySQL ondersteuning op CentOS 6.4 vps server dedicated servers stumbleupon Nginx met PHP5 en MySQL ondersteuning op CentOS 6.4 vps server dedicated servers print Nginx met PHP5 en MySQL ondersteuning op CentOS 6.4 vps server dedicated servers email Nginx met PHP5 en MySQL ondersteuning op CentOS 6.4 vps server dedicated servers

Opmerking toevoegen

Current day month ye@r *