
Set up a vagrant ubuntu environment, then update packages, install nginx, and start the nginx service.
Troubleshoot the Engine X nginx web server on an older linux system by installing, starting, and restarting the service, diagnosing port 80 conflicts, and inspecting status and logs.
Explore nginx files and directories on Linux, including the main configuration file, mime types, fastcgi, proxy settings, and sites-available and sites-enabled configurations, plus log monitoring.
Learn to control the Engine X service on Linux using systemctl commands, manage root privileges with sudo, start and stop Engine X, and view status with or without a pager.
Explore engine X's main configuration file, understanding directives and blocks, including user, worker_connections, worker processes auto, pid file, include directives, sites enabled, and events and http blocks.
Configure a demo nginx site by removing the default site, creating a new server block that listens on port 80 for the domain, and validating with syntax test and curl.
Configure nginx to serve multiple sites by using the default_server on listen and setting the server_name; specify index.html, test with nginx -t, then reload and verify on localhost.
Replace the default html with your files, create css and javascript folders, link a css file for styling, and clone the GitHub repo into the web root to configure nginx.
Explore configuring Nginx with location directives to route requests via exact, prefix, and regex matches, using URI and root, and serving custom 404 and 500 error pages.
Configure nginx access and error logs for a virtual host and its locations to monitor requests and troubleshoot issues, then test and reload the configuration.
Install php-fpm and php-mysql on the nginx stack and configure fastcgi_pass to enable dynamic PHP pages. Verify PHP installation with a PHP info page and ensure secure, efficient request handling.
Install MariaDB on the nginx and php stack, secure the database, create an admin user and the appointments database, and deploy a PHP app that lists appointments using mysqli.
Install VirtualBox and Vagrant on Linux, Windows, and macOS using apt commands on Ubuntu or standard installers; verify installations with VirtualBox and vagrant --version, and reboot when required.
Learn the basics of using vagrant to manage a single vm, including boxes, power control, suspend and resume, and host-vm integration with port forwarding, folder mapping, and networking.
Initialize a vagrant project with a named base box, download it from vagrant cloud if missing, and generate a vagrant file to define virtual machine settings, provisioning, and synchronized folders.
Learn to manage vagrant boxes with vagrant box sub commands, list and remove, while vagrant up handles downloads, networking, port forwarding, shared folders, and provisioning with Puppet or Ansible.
Destroy and recreate vagrant environments from a base box configuration file and provisioning files, then connect via vagrant ssh, configure port forwarding and synced folders, and apply provisioning tools.
Learn to manage Vagrant boxes with add, list, outdated, update, remove, and status commands, using name, force, clean, and provider flags, plus global status to view all boxes.
Learn to work with multiple virtual machines in a single Vagrant project to test distributed architectures locally, configuring distinct names, IPs, base boxes, provisioning, and shared folders.
Define and connect to multiple virtual machines with Vagrant by configuring per-VM settings, naming each VM, and using SSH port mappings to access them from the host.
Configure and run two Vagrant virtual machines on a private network with predefined IP addresses, enabling direct machine-to-machine communication and conflict-free networking through Vagrant networking options.
Set up and manage a multi-VM lab using vagrant and VirtualBox, configure with Ansible, provision ubuntu vms, verify connectivity, and control via vagrant commands and port forwarding.
Discover Git as a distributed version control system that tracks project history and enables offline work for collaborative teams. Understand Git vs. GitHub and prepare for installation and first commands.
Learn to install git on Ubuntu, Windows, or macOS, verify the installation with git --version, use git bash, and set global configuration settings for your workflows.
Explore global git configuration by setting your user name and email, enabling color output, and editing the .gitconfig file, then verify with git config --list.
Create and initialize a git repository in a project directory, track changes with git status and git add, commit with messages, and copy files to a remote repository for collaboration.
Create a remote GitHub repository and push your local project by configuring origin and using git push -u origin master.
Learn how to clone a remote repository with git clone, create and modify files, add and commit changes, and push or pull updates with origin master.
Configure the dot git ignore file in the repository root to prevent git from tracking files you don't want tracked. Add items and commit them, and verify with git status.
Learn essential git commands for tracking changes, viewing diffs, staging, and committing, and explore history with git log and git show using short commit hashes.
Learn to create and switch branches in git, manage remote and local branches, rename branches, and safely delete them using commands like git branch and git checkout.
Create and configure an IIS website on a nano server using PowerShell, set binding to port 80, and verify with Get-Website after importing WebAdministration.
Master the basics of PowerShell, navigate directories, use aliases and common cmdlets, explore pipelines and variables, and access help and command discovery for script creation.
Explore WMI and CIM as DMTF standards, compare WMI and CIM implementations, and note WMI repository access, PowerShell support, and remote management capabilities.
NGINX serves a large part of the web, and its configuration file is shorter than it looks once you know the building blocks. In this course you install NGINX on Linux, learn how it is configured, and finish with a working web stack, with every step shown on screen so you can repeat it.
Inside the course
The course is organised into these sections: Getting Started; Additional Materials. Lectures you will find include: NGINX Important Files and Forders; NGIMX Important Commands; Mastering the NGINX Configuration File; Virtual Host Configuration in NGINX; Add files to the root directory; Configure logs and troubleshoot NGINX; Install PHP on NGINX; Install MariaDB on NGINX and LEMP stack demonstration; Working with s single VM in Vagrant. Section Overview; Importing and using base boxes in Vagrant; Managing Vagrant boxes; Working with multiple VMs in Vagrant. Section Overview; Defining and connecting to multiple virtual machines in Vagrant; Networking the multiple virtual machines in Vagrant; Building Lab Environment with Vagrant; Introduction to Git; Git: Getting installed; Git: A few important configuration settings; Git: Creating a project. The first commit; Git: Working with remote repositories; Git: Cloning a project from the remote repository; Git: Git important commands. Viewing commits' history; Branches in Git. Creating, deleting and renaming branches; Creating an IIS website on Nano Server with PowerShell; Introduction to PowerShell Key Concepts; Intro to WMI and CIM.
The course runs about 2.7 hours in 35 lectures. It is a focused introduction to NGINX, so it does not cover load balancing, reverse proxy tuning or security hardening in depth. The Vagrant and Git sections are additional material that supports the labs.