How To WordPress On Nginx

WordPress is a popular content management system (CMS) that makes it easy for anyone to create and manage a website with little or no coding experience. By default, WordPress uses the Apache web server, but it can also run on other web servers, such as Nginx.

In this blog post, we will discuss how to set up WordPress on Nginx, a high-performance web server that is known for its stability, rich feature set, and low resource consumption.


Before we begin, you should have the following set up on your server:

  • A working installation of Nginx
  • PHP and MySQL installed and configured
  • A domain name pointing to your server’s IP address

With these prerequisites in place, let’s dive into setting up WordPress on Nginx.

Step 1: Download and Extract WordPress

First, navigate to the WordPress download page and download the latest version of WordPress. Upload the downloaded archive to your server and extract it with the following command:


Replace “x.x.x” with the actual version number.

Move the extracted files to your Nginx web root directory:

    mv wordpress/* /var/www/html/

Step 2: Create a MySQL Database for WordPress

WordPress needs a MySQL database to store its data. Log in to your MySQL server with the following command:

    mysql -u root -p

Create a new database and user for WordPress, replacing “database_name” and “username” with your desired names, and “password” with a secure password:

    CREATE DATABASE database_name;
    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';

Step 3: Configure WordPress

Copy the sample configuration file:

    cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php

Edit the wp-config.php file to include your MySQL database information:

    define('DB_NAME', 'database_name');
    define('DB_USER', 'username');
    define('DB_PASSWORD', 'password');
    define('DB_HOST', 'localhost');

Step 4: Configure Nginx for WordPress

Create a new Nginx server block for your domain:

    nano /etc/nginx/sites-available/

Add the following configuration, replacing “” with your actual domain name:

    server {
        listen 80;
        root /var/www/html;

        index index.php index.html index.htm;

        location / {
            try_files $uri $uri/ /index.php?$args;

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.x-fpm.sock;

        location ~* \.(jpg|jpeg|gif|png|css|js|ico)$ {
            expires max;
            log_not_found off;

Replace “7.x” with the actual PHP version installed on your server.

Create a symbolic link to enable the site:

    ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/

Test the Nginx configuration and restart the service:

    nginx -t
    systemctl restart nginx

Step 5: Complete the WordPress Installation

Open your browser and navigate to your domain name. You should see the WordPress installation screen. Follow the instructions to complete the installation.


You have successfully set up WordPress on Nginx. Now you can start building your website and exploring the features of both WordPress and Nginx. Have fun, and happy blogging!