How to Install WordPress with Nginx: A Complete Guide

How to Install WordPress with Nginx: A Complete Guide

Installing WordPress with Nginx can significantly improve your website’s performance and reliability. In this guide, learn how to set up WordPress with Nginx effortlessly.

Why Use Nginx with WordPress

Nginx has gained immense popularity as a modern web server, often preferred over Apache for its efficiency and scalability. With features like reverse proxy, caching, media streaming, and load balancing, it is an ideal fit for WordPress sites, especially when hosted on a VPS solution.

  • Nginx is optimized for low memory usage.
  • It supports high concurrency and IPv6.
  • Includes efficient caching and load balancing.
  • Handles static files and auto indexing efficiently.
  • Supports WebSockets and FastCGI for caching.

Nginx addresses scalability issues and is a solution to the C10K problem, making it a great choice for WordPress hosting.

Prerequisites for Installing WordPress with Nginx

  • Logged in with sudo access.
  • Nginx pre-installed.
  • SSL certificate installed for your domain.
  • A domain name pointing to your server’s public IP (e.g., sample.com).

How to Install WordPress with Nginx

Let’s walk through the entire process step-by-step.

1. Update Your System

First, ensure your system is up to date:

sudo apt update
sudo apt upgrade

2. Install Nginx

Install Nginx using the default Ubuntu repository:

sudo apt install nginx

Check the status of the Nginx service:

sudo systemctl status nginx

3. Configure UFW (Optional)

Open ports 80 and 443 for HTTP and HTTPS if using UFW:

sudo ufw allow 'Nginx Full'

4. Install and Configure MySQL Database

Install MySQL to store WordPress data:

sudo apt install mysql-server

Log in to the MySQL shell and create a database:

mysql -u root -p
CREATE DATABASE WordPress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'WordPressUser'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;

5. Install PHP

Install PHP and its extensions required for WordPress:

sudo apt install php8.1-cli php8.1-fpm php8.1-mysql php8.1-opcache php8.1-mbstring php8.1-xml php8.1-gd php8.1-curl

6. Install WordPress with Nginx

Create a directory and download WordPress:

sudo mkdir -p /var/www/html/sample.com
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xf latest.tar.gz
sudo mv /tmp/wordpress/* /var/www/html/sample.com/

Change ownership of WordPress files:

sudo chown -R www-data: /var/www/html/sample.com

7. Configure Nginx for WordPress

Create a server block for your WordPress site:

sudo nano /etc/nginx/sites-available/sample.com
# Redirect HTTP -> HTTPS
server {listen 80;server_name www.sample.com sample.com;include snippets/letsencrypt.conf;return 301 https://sample.com$request_uri;}
# Redirect WWW -> NON-WWW
server {listen 443 ssl http2;server_name www.sample.com;ssl_certificate /etc/letsencrypt/live/sample.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/sample.com/privkey.pem;ssl_trusted_certificate /etc/letsencrypt/live/sample.com/chain.pem;include snippets/ssl.conf;return 301 https://sample.com$request_uri;}
server {listen 443 ssl http2;server_name sample.com;root /var/www/html/sample.com;index index.php;# SSL parameters
ssl_certificate /etc/letsencrypt/live/sample.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/sample.com/privkey.pem;ssl_trusted_certificate /etc/letsencrypt/live/sample.com/chain.pem;include snippets/ssl.conf;include snippets/letsencrypt.conf;# Log files
access_log /var/log/nginx/sample.com.access.log;error_log /var/log/nginx/sample.com.error.log;location = /favicon.ico {log_not_found off;access_log off;}location = /robots.txt {allow all;log_not_found off;access_log off;}location / {try_files $uri $uri/ /index.php?$args;}location ~ \.php$ {include snippets/fastcgi-php.conf;fastcgi_pass unix:/run/php/php8.1-fpm.sock;}location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {expires max;log_not_found off;}}

Create a symbolic link:

sudo ln -s /etc/nginx/sites-available/sample.com /etc/nginx/sites-enabled/

Check the Nginx configuration:

sudo nginx -t

Restart Nginx:

sudo systemctl restart nginx

8. Configuring WordPress for Nginx

Open your browser and navigate to your domain (e.g., http://sample.com) to complete the WordPress installation.

Fill in the database details and proceed with the installation. Set a secure username and password for WordPress access.

Get the Best Hosting for Your WordPress Site

Looking for reliable hosting for your WordPress site? Consider Hostinger for high-performance and affordable hosting solutions tailored to your needs.

Conclusion

Congratulations! You’ve successfully installed WordPress with Nginx. Now, explore the endless possibilities of WordPress with the power of a strong virtual private server.

Edward S. is a seasoned content editor with expertise in IT writing, marketing, and Linux system administration, passionate about guiding readers to establish a strong online presence.

Starter-Pack HTML Section

Download all in one WordPress cheat sheet

  • Why Use Nginx With WordPress
  • Prerequisites for Installing WordPress With Nginx
  • How to Install WordPress with Nginx
    • 1. Update Your System
    • 2. Install Nginx
    • 3. Configure UFW (Optional)
    • 4. Install and Configure MySQL Database
    • 5. Install PHP
    • 6. Install WordPress with Nginx
    • 7. Configure Nginx for WordPress
    • 8. Configuring WordPress for Nginx

👉 Start your website with Hostinger – get fast, secure hosting here 👈


🔗 Read more from MinimaDesk:


🎁 Download free premium WordPress tools from our Starter Tools page.

How to Start a Book Blog and Monetize It Successfully
Why Websites Crash and How to Prevent It
My Cart
Wishlist
Recently Viewed
Categories