"Web Servers: Nginx &
Apache, and Multi-
Application Deployment
Using Jenkins"
BY ANUSHREE IDEKAR
What is a Web Server?
A web server is a software application that serves content
(HTML, CSS, JS) over the internet, enabling websites to be
accessed.
Functions:
• Handle client requests (HTTP/HTTPS)
• Deliver website files
• Manage security through certificates and firewalls
Nginx Overview
•Nginx is a high-performance web server known for its ability to
serve static content quickly, reverse proxy, load balancing, and
handle high traffic.
Features:
• Event-driven, handles many connections with low memory
usage
• Load balancing and caching support
• Reverse proxy for better server utilization
•Use Cases:
Large-scale systems like Netflix, Airbnb use Nginx for high
scalability.
Apache Overview
Apache HTTP Server (Apache) is a powerful, flexible web server
known for its reliability and support for dynamic content.
Features:
• Supports multiple protocols (HTTP/2, FTP)
• Extensive modules for customization
• Robust security and authentication capabilities
Use Cases:
Many websites (WordPress, Joomla) are hosted on Apache due to
its flexibility.
Key Differences Between Nginx & Apache
Feature Nginx Apache
Architecture Event-driven Process-driven
(prefork/threaded)
Speed Faster for static Slower with static,
content better with dynamic
content
Static Dynamic, allows run-
Modules time loading
Load Balancing Built-in Supported via
modules
Use Case High traffic sites Small to large-sized
websites
What is Jenkins?
Open-source automation server for CI/CD
Automates the process of building, testing, and deploying code
Helps detect issues early in the development cycle
Integrated with tools like Git, Docker, and Kubernetes
Why Use Jenkins for Deployment?
•Benefits:
•Automates the deployment process
•Ensures consistency across environments (development, testing,
production)
•Easy rollback to previous versions
Integration with Nginx/Apache:
•Jenkins can automate copying files to Nginx/Apache servers for web
app
deployment.
DEMO
TIME
Conclusion
•Nginx and Apache are both powerful web servers with unique features.
•Jenkins automates the deployment process, making it easier to deploy
multiple applications on the same server.
•With proper configuration, both web servers can serve multiple applications
efficiently.
Thank
you