So, yesterday we showed you how to install Nginx, MySQL and PHP5 with support for PHP-FPM in CentOS 6.5 in order to install WordPress.

WordPress requires these services to run properly. Without a web server, PHP, or a database server, WordPress will not be able to function. This brief tutorial will continue from where we left of yesterday and show you how to install WordPress on Nginx in CentOS 6.5.

To access our previous tutorial on this, please click here.

Now that Nginx, PHP, MySQL are installed and partially configure, it’s time to install and configure WordPress. But before we get started, we need to make few changes to Nginx site config file and PHP-FPM.

Yesterday we told you that Nginx keeps it sites configuration files in this directory /etc/nginx/conf.d/

The default site config file is at /etc/nginx/conf.d/default.conf.

In that file is were you configure settings for its default website. So, before you install and setup WordPress, let’s add and modify the file to add some directives to enable WordPress to function.

To get started, open Nginx default site config file using the commands below.

vi /etc/nginx/conf.d/default.conf

Then change the location ~ \.php$ block to look like the lines below.This block will define how Nginx handle PHP pages. The directives below will get WordPress its basic functionality.


location ~ \.php$ {
        root           /usr/share/nginx/html;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass    unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include      fastcgi_params;


Save the file. To optimize Nginx properly for WordPress, you’ll need to configure more settings than what’s above. Gzip, caching and other settings are things to do in order to properly optimize Nginx but we’re going into depth at this time.

For this blog post, we’re only focusing on getting WordPress installed using the basic optimal settings.

  • Edit PHP-FPM Config File

After saving the file above, open PHP-FPM configuration file at the location below.

vi /etc/php-fpm.d/www.conf

In that file, you’ll want to change listen directive to point to a file from IP as shown below to match what is defined in Nginx site config file.

;listen =

listen  = /var/run/php-fpm/php-fpm.sock


Save the file and you’re done here.

  • Change PHP.INI file

Next, add one last change to the php.ini file. This file is location in the /etc/ directory called php.ini. Use the commands below to open it.

vi /etc/php.ini

Then look through the file until you see the line below and uncomment it. Make sure it’s like this below and save the file..


When you’re done, restart Nginx (service nginx restart), restart PHP-FPM (service php-fpm restart).

That’s it! All the basic configuration are done. Next, we’re going to download WordPress content and copy it to the root directory. The default root directory is at /usr/share/nginx/html

You can specify a different location in the site config file. Since you’re using the default, no changes required.


  • Download WordPress archive

Next, download WordPress archive using the commands below

cd /tmp && wget

Then using the commands below extract the zip file and copy it to the root directory.

unzip && cp -rf wordpress/* /usr/share/nginx/html/

After copying the file to the root directory, it’s now time to configure WordPress database and database user.

First, rename wp-config-sample.php file to wp-config.php. To do that, run the commands below.

cp /usr/share/nginx/html/wp-config-sample.php /usr/share/nginx/html/wp-config.php

  • Creating WordPress Database and User

Next, create WordPress database and its database user. To do that, sign onto MySQL using the commands below

mysql -u root -p

Then create a WordPress database using the commands below


Next, create a database user using the commands below.

CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'myPassword';

Finally, great the database user complete access the the newly created database.

GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';

Exit and you’re done.

  •  Editing wp-config.php file to add database info

Finally, you must edit the wp-config.php file the the root directory to add the database connection info.

vi /usr/share/nginx/html/wp-config.php

Then define the DB_NAME,  DB_USER and DB_PASSWORD and save the file.

When you’re done, open a browser and connect to your server and you should see WordPress install page.