- Step1:Install nginx, Mariadb,PHP and depend pakages
apt-get install nginx mariadb-server php php-fpm php-curl php-mysql php-gd php-mbstring php-xml php-imagick php-zip php-xmlrpc

Once the LEMP server is installed, verify the PHP version using the following command:
php -v

root@XSHQSHE02:/etc/nginx/conf.d# vim /etc/php/8.1/fpm/php.ini
Change the following lines:
cgi.fix_pathinfo=0 802行
upload_max_filesize = 128M 850行
post_max_size = 128M 698行
memory_limit = 512M 430行
max_execution_time = 120 409行
Save and close the file when you are finished.
- Step2: Create a Database for WordPress
MariaDB [(none)]> CREATE DATABASE wpdb;
MariaDB [(none)]> CREATE USER 'test'@'localhost' IDENTIFIED BY '123@ABC';
Once you are logged in, create a database and user with the following command:
Next, grant all the privileges to the WordPress database using the following command:
MariaDB [(none)]> GRANT ALL ON wpdb.* TO 'test'@'localhost';
Next, flush the privileges and exit from the MariaDB with the following command:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
- Step3: Install WordPress on Ubuntu 22.04
First, navigate to the Nginx web root directory and download the latest version of WordPress using the following command:
cd /var/www/html
wget https://wordpress.org/latest.tar.gz
Once the WordPress is downloaded, extract the downloaded file with the following command:
tar -zxvf latest.tar.gz
Save and close the file when you are finished. Next, set proper permission and ownership to the WordPress directory:
chown -R www-data:www-data /var/www/html/wordpress
chmod -R 755 /var/www/html/wordpress
- Step4: Create an Nginx Virtual Host for WordPress
Next, you will need to create an Nginx virtual host configuration file to serve WordPress over the internet.
root@XSHQSHE02:/etc/nginx/conf.d# vim /etc/nginx/conf.d/testweb.conf
Add the following configuration:
server {
listen 80;
root /var/www/html/wordpress;
index index.php index.html index.htm;
server_name wordpress.example.com;
client_max_body_size 500M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Save and close the file then verify the Nginx configuration using the following command:
nginx -t
You will get the following output:

- Step5: Enable SSL for Nginx website
- If get the error “502 Bad Gateway”,follwing the steps to fix as below:
Check Nginx log, check the status of service “php8.3-fpm.service”.
If the error as below, then is the perssion issue. allows nginx to access the file, and restart nginx.

root@XWKSweb01:/# usermod -aG www-data nginx
root@XWKSweb01:/# systemctl restart nginx
- Then setup the wordpress, the website deployment have done.
