LEMP stack, which stands for Linux, Nginx, MySQL (or MariaDB), and PHP, is a popular software stack used for deploying dynamic web applications. Ubuntu 22.04, the latest Long-Term Support (LTS) release of Ubuntu, provides an excellent platform for hosting web applications using the LEMP stack. This guide will walk you through the step-by-step process of installing and configuring the LEMP stack on Ubuntu 22.04.
Commands
sudo apt update
sudo apt upgrade -y
sudo apt install nginx
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx
sudo chown www-data:www-data /usr/share/nginx/html -R
sudo apt install mariadb-server mariadb-client
systemctl status mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation
sudo apt install php8.1 php8.1-fpm php8.1-mysql php-common php8.1-cli php8.1-common php8.1-opcache php8.1-readline php8.1-mbstring php8.1-xml php8.1-gd php8.1-curl
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm
systemctl status php8.1-fpm
sudo rm /etc/nginx/sites-enabled/default
sudo nano /etc/nginx/conf.d/default.conf
==========================================================================
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html/;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
# A long browser cache lifetime can speed up repeat visits to your page
location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
access_log off;
log_not_found off;
expires 360d;
}
# disable access to hidden files
location ~ /\.ht {
access_log off;
log_not_found off;
deny all;
}
}
=================================================================================
sudo systemctl reload nginx
sudo nano /usr/share/nginx/html/info.php
<?php phpinfo(); ?>