How to install WordPress on LEMP stack (Nginx) on a VPS

WordPress is one of the most popular content management systems (CMS) in the world, powering millions of websites across the globe. For those looking to leverage the performance benefits of a LEMP stack (Linux, Nginx, MariaDB/MySQL, PHP) on a Virtual Private Server (VPS), installing WordPress can optimize your web presence with robust and scalable solutions. This article will guide you through the steps of installing WordPress on a LEMP stack and configuring Nginx for optimal performance.

Step-by-Step Guide to Installing WordPress

  1. Update Your Server and Install LEMP Stack: Before installing WordPress, ensure that your VPS is up-to-date. Connect to your server via SSH and run sudo apt update && sudo apt upgrade. Next, install the LEMP stack. You can install Nginx, MySQL, and PHP with the command: sudo apt install nginx mysql-server php-fpm php-mysql. During the installation, you will be prompted to set a password for the MySQL root user.

  2. Create a MySQL Database and User: WordPress uses a database to manage data. Log in to the MySQL shell with sudo mysql and create a new database and user for WordPress. For example, use:

    CREATE DATABASE wordpress;
    CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;

    Replace ‘password’ with a secure password of your choice.

  3. Download and Configure WordPress: Go to the web root directory (typically /var/www/html) and remove any existing files. Download the latest WordPress version with wget https://wordpress.org/latest.tar.gz. Extract the archive with tar xzvf latest.tar.gz and move the contents to the root directory. Configure WordPress by copying the sample configuration file: cp wp-config-sample.php wp-config.php. Edit the wp-config.php file to enter the details of the database name, user, and password you created earlier.

Configuring Nginx for WordPress on LEMP

  1. Configure Nginx Server Block: Start by creating a new server block configuration for your WordPress site. Open a new configuration file in Nginx’s sites-available directory with sudo nano /etc/nginx/sites-available/wordpress. Configure the server block to listen on the default web port and to serve files from your WordPress directory. The configuration should include the handling of PHP files using the PHP processor and specify the server name (domain or IP).

  2. Enable Permalinks in WordPress: To use SEO-friendly URL structures, WordPress needs to rewrite rules that must be specified in Nginx’s configuration. Inside your server block, add the following location block:

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

    This directive tells Nginx to serve any PHP scripts directly and to pass all other requests to index.php with the original query string parameters.

  3. Activate the Configuration and Restart Nginx: After configuring your server block, enable it by creating a symbolic link to the sites-enabled directory with sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/. Test the Nginx configuration for errors with sudo nginx -t. If everything is set correctly, restart Nginx to apply the changes with sudo systemctl restart nginx.

By following the outlined steps, you can successfully install WordPress on a LEMP stack using Nginx on your VPS. This setup not only leverages the speed and efficiency of Nginx but also ensures that your WordPress site is scalable and secure. Remember to regularly maintain and update your WordPress installation and Nginx server to protect against vulnerabilities and ensure optimal performance.

Hot this week

cPanel for $5: Why It’s Still the Best Control Panel (Now Made Affordable by Tremhost)

When it comes to managing hosting environments, few tools...

The Hosting Provider’s Dilemma: Maximize Stability and Profit With Tremhost’s Shared Licenses

Running a hosting business is a constant juggling act....

Cracked Keys vs. Genuine Shared Licenses: Why Tremhost is the Smarter, Safer Choice

If you’ve ever searched online for a “cheap hosting...

Plesk, CloudLinux, Imunify360 and Beyond — Why Tremhost Beats Traditional License Vendors

If you run a hosting business or manage servers,...

cPanel at $5 a Month? A Side-by-Side Look at Tremhost vs. Regular Pricing

When you hear someone say they’re getting a legit...

Topics

spot_img

Related Articles

Popular Categories

spot_imgspot_img