
Install and configure Nginx on Linux, set up the lem web development stack, and secure sites with ssl certificates and password authentication, plus reverse proxy and load balancing.
Develop Linux command-line skills, learn file editing, and master basic application installation. Gain familiarity with Apache or NGINX and basic PHP and MySQL for static and dynamic websites.
Compare Nginx and Apache to explore open-source roots, configuration approaches, and static versus dynamic content delivery. See how Nginx handles high load with built-in caching and fast static content.
Set up a sandbox with VirtualBox and Vagrant to create a repeatable virtual machine. Use base boxes and exercise files to install and configure the environment.
Create and manage a vm with vagrant by configuring the vagrant file, downloading the base box, then start with vagrant up and connect via vagrant ssh.
Install and configure nginx on an Ubuntu vm using Vagrant, update and upgrade packages, install nginx, verify the service with systemctl, and confirm via the welcome page on port 80.
Learn nginx file and directory structure on linux, including config files in /etc/nginx, sites-enabled and sites-available, and the web root at /var/www, plus access and error logs in /var/log/nginx.
Master nginx from the command line using sudo and systemctl to start, stop, and reload, check status, test config with lowercase d and uppercase D, using -P or a pager.
Configure a virtual host in NGINX by creating a site in sites-available, linking it to sites-enabled, and removing the default site. Reload NGINX and test the setup on port 80.
Configure a virtual host in nginx with listen, default server, and server_name for name-based hosting. Add index files and test the updated configuration by reloading nginx and visiting localhost.
Deploy site content to the nginx root by unzipping a provided archive on the development vm with Vagrant up, then fix permissions (files 644, directories 755) and verify site loads.
Configure nginx location blocks to tailor request handling using exact, prefix, and regex matches, nest directives, enable auto index, and use internal redirects for testing error pages.
Configure nginx logs by adding access and error log directives in the server and location context, then reload and test by issuing requests and inspecting the resulting log files.
Master practical nginx troubleshooting to resolve configuration errors, verify nginx is running, reload configs, check ports and open files, and monitor logs for 400 errors.
Define the LEMP stack by identifying Linux as the operating system, a web server, MySQL as the database, and PHP as the scripting language. Understand their dynamic role.
Install BHP on NGINX using sudo and apt-get, install BHP forced CGI process manager and MySQL support, configure forced CGI directives, reload NGINX, and verify with a BHP info page.
Install mariadb server and client, secure with mysql_secure_installation, set root password, disable remote root, remove anonymous accounts and test database, then create a demo database and user.
Demonstrate adding dynamic content to a static site by connecting to the appointment database and rendering data in the browser, with status checks and default loading of the index file.
Learn how to secure sites with NGINX by keeping systems updated and restricting access by IP. Apply best practices and use SSL for encrypted, verified connections.
Configure nginx allow and deny directives to restrict the appointment page to internal networks, using IP ranges, test the configuration, and reload the server via vhost edits.
Learn to create a 403 page in nginx by defining a deny location, replacing the default 403 with a custom image, and testing the setup with reload and browser checks.
Configure password authentication in nginx by creating a htpasswd password file, placing it outside the web root, securing with auth_basic and auth_basic_user_file, and testing with a username and password.
Configure https on nginx by creating a self-signed tls certificate with the ssl module, enabling encrypted traffic to protect sensitive data like credit cards and ssn.
Create a self-signed SSL certificate for development using OpenSSL, generating a new key and certificate in one command with a 365-day validity.
Configure Nginx to use the SSL certificate and key, force all traffic to HTTPS on port 443 with a 301 redirect from HTTP, and verify trusted certificates in browsers.
Explore how reverse proxies and load balancing improve reliability and performance by caching content, handling ssl termination, logging, and session persistence across multiple back-end servers.
Configure nginx as a reverse proxy by defining upstream backends, setting up a proxy location, and enabling simple load balancing to route requests to backend services.
Learn how to configure nginx as a load balancer by setting up upstream blocks and using methods such as round robin, least connections, and ip_hash to balance traffic across servers.
Learn how to harness the power of NGINX, one of the fastest and most efficient web servers available today. Known for its high performance, low resource usage, and scalability, NGINX is an essential skill for web developers, system administrators, and IT professionals. In this course, you will learn how to install and configure NGINX on a Linux server and build a complete LEMP stack (Linux, NGINX, MariaDB, PHP) for web development.
You’ll gain practical skills in configuring virtual hosts, securing websites with HTTPS and SSL certificates, setting up password authentication, and leveraging NGINX’s capabilities as a reverse proxy and load balancer. The course also covers HTTP caching to improve website performance and reduce server load.
Hands-on demos and labs will guide you through:
Installing and configuring NGINX on Linux
Setting up PHP and MariaDB for a complete LEMP stack
Securing web applications using SSL and HTTPS
Implementing reverse proxies and load balancing
By the end of this course, you’ll have the confidence to deploy and manage high-performance, secure, and scalable web applications using NGINX. Whether you are preparing for a career in web development, DevOps, or server administration, this course equips you with the knowledge and hands-on skills to succeed in modern web environments.