title
Nginx Tutorial | Learn Nginx Fundamentals | Deploy a Web Application Using Nginx | Edureka

description
πŸ”₯ DevOps Certification Training (Use Code "π˜πŽπ”π“π”ππ„πŸπŸŽ"): https://www.edureka.co/devops-certification-training This Edureka video on "Nginx Tutorial" talks about the key concepts that you need to understand, to get you started with Nginx. The following topics will be covered in the session: 2:31 What is a web server? 4:26 What is Nginx? 5:30 Nginx Architecture 12:32 Why should we use Nginx? 18:22 How To Install Nginx? 23:06 Hands-On: Deploying a Web Application on Nginx DevOps playlist: http://goo.gl/O2vo13 Blog series: https://goo.gl/iAChpk Subscribe to our Edureka YouTube channel and hit the bell icon to get video updates: https://goo.gl/6ohpTV -------------------------------------------------------------------------------------------------------- Instagram: https://www.instagram.com/edureka_learning/ Facebook: https://www.facebook.com/edurekaIN/ Twitter: https://twitter.com/edurekain LinkedIn: https://www.linkedin.com/company/edureka ------------------------------------------------------------------------------------------------------- #Nginx #NginxTutorial #NginxonUbuntu #DevOps How does it work? 1. This is a 4 Week Instructor-led Online Course. 2. The course consists of 24 hours of online classes, 25 hours of assignment, 20 hours of project 3. We have a 24x7 One-on-One LIVE Technical Support to help you with any problems you might face or any clarifications you may require during the course. 4. You will get Lifetime Access to the recordings in the LMS. 5. At the end of the training, you will have to complete the project based on which we will provide you with a Verifiable Certificate! - - - - - - - - - - - - - - About the Course Edureka’s DevOps online training is designed to help you master key tools of DevOps lifecycle like Docker, Puppet, Jenkins, Nagios, GIT, Ansible, SaltStack and Chef used by a DevOps Engineer for automating multiple steps in SDLC. During this course, our expert DevOps instructors will help you: 1. Understand the concepts and necessities of DevOps 2. Understand the need for DevOps and the day-to-day real-life problems it resolves 3. Learn installation and configuration of common infrastructure servers like Apache, and Nginx for the Enterprise 4. Learn popular DevOps tools like Jenkins, Puppet, Chef, Ansible, SaltStack, Nagios, and GIT 5. Implement automated system update, installations, and deployments 6. Learn Virtualization Concepts 7. Configuration deployment and packaging, continuous integration using GIT 8. Fine tune Performance and set-up basic Security for Infrastructure 9. Manage server operations using Code which is popularly known as Infrastructure as a Code 10. Understand the need for and concepts of Monitoring and Logging. Along with the above-mentioned topics, to help you master the most popular DevOps tools, you will also receive 3 additional self-paced courses including presentations, class recordings, assignments, solutions for the following tools: 1: Ansible - Covers Introduction, Setup & Configuration, Ansible Playbooks, 37 Ansible Modules, Different Roles and Command Line usage. 2: Chef - Covers Introduction, Building the Cook Book, Node Object & Search, Data-bags, Chef environment, Roles, Deploying Nodes in Production and using the Open Source Chef Server. 3: Puppet - Covers Puppet Infrastructure & run-cycle, the Puppet Language, Environment defining Nodes and Modules, Provisioning a Web Server and Executing Modules Against A Puppet Master. - - - - - - - - - - - - - - Who should go for this course? DevOps practitioners are among the highest paid IT professionals today, and the market demand for them is growing rapidly. With the emergence of new job roles around DevOps philosophy, anyone aspiring to get into these new roles can take up this DevOps course. Some of these roles are: 1. DevOps Architect 2. Automation Engineer 3. Software Tester 4. Security Engineer 5. Integration Specialist 6. Release Manager - - - - - - - - - - - - - - Project Work 1. Host a dummy webpage using Apache Web Server. 2. Write a shell script which reports: a) Various system configurations related to the user and the OS. b) Data related to load on the server. c) Top 5 processes with a maximum number of threads. d) Sort the services by memory 3. Install Nagios on a VM node for monitoring the various parameter of the VM. - - - - - - - - - - - - - - For more information, please write back to us at sales@edureka.co or call us at IND: 9606058406 / US: 18338555775 (toll-free).

detail
{'title': 'Nginx Tutorial | Learn Nginx Fundamentals | Deploy a Web Application Using Nginx | Edureka', 'heatmap': [{'end': 1611.905, 'start': 1568.033, 'weight': 1}, {'end': 1827.029, 'start': 1795.348, 'weight': 0.807}], 'summary': 'This nginx tutorial covers basics, web server understanding, efficient connection handling, cache management, configuration, deployment, and website deployment, providing insights into nginx architecture, features, and benefits for enterprise applications.', 'chapters': [{'end': 51.399, 'segs': [{'end': 51.399, 'src': 'embed', 'start': 11.092, 'weight': 0, 'content': [{'end': 11.873, 'text': 'Hello everyone.', 'start': 11.092, 'duration': 0.781}, {'end': 17.662, 'text': 'This is Sahithi on behalf of Edureka, and I welcome you to this session on nginx tutorial.', 'start': 12.033, 'duration': 5.629}, {'end': 18.343, 'text': 'since, guys,', 'start': 17.662, 'duration': 0.681}, {'end': 25.534, 'text': 'nginx is quite a vast topic to understand and the session will mainly focus on all the basic knowledge that you need to get started with nginx.', 'start': 18.343, 'duration': 7.191}, {'end': 30.69, 'text': "So now without wasting any further time, let me take you to the topics for today's session.", 'start': 26.408, 'duration': 4.282}, {'end': 38.613, 'text': "So we'll start this session by understanding what is a web server and then we'll get into what exactly is nginx once you understand nginx.", 'start': 31.11, 'duration': 7.503}, {'end': 45.476, 'text': "I'll tell you about the nginx architecture and the reasons on why you should learn nginx, of why you should use nginx, and finally,", 'start': 38.693, 'duration': 6.783}, {'end': 51.399, 'text': "I'll end the session by showing you how to install nginx and then deploy an application on the web server right?", 'start': 45.476, 'duration': 5.923}], 'summary': 'Sahithi from edureka covers basic nginx knowledge, architecture, reasons to use, installation, and deploying an application.', 'duration': 40.307, 'max_score': 11.092, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ11092.jpg'}], 'start': 11.092, 'title': 'Nginx basics tutorial', 'summary': 'Provides an introduction to nginx, covering basic knowledge, web server, nginx architecture, reasons to learn and use nginx, and installation process.', 'chapters': [{'end': 51.399, 'start': 11.092, 'title': 'Nginx basics tutorial', 'summary': 'Provides an introduction to nginx, focusing on basic knowledge and covering topics such as web server, nginx architecture, reasons to learn and use nginx, and installation and deployment process.', 'duration': 40.307, 'highlights': ['The session will mainly focus on all the basic knowledge that you need to get started with nginx.', 'The chapter covers understanding what is a web server, Nginx architecture, reasons to learn and use Nginx, and how to install Nginx and deploy an application on the web server.', 'Nginx is quite a vast topic to understand, and the session will mainly focus on all the basic knowledge that you need to get started with Nginx.']}], 'duration': 40.307, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ11092.jpg', 'highlights': ['The chapter covers understanding what is a web server, Nginx architecture, reasons to learn and use Nginx, and how to install Nginx and deploy an application on the web server.', 'The session will mainly focus on all the basic knowledge that you need to get started with Nginx.', 'Nginx is quite a vast topic to understand, and the session will mainly focus on all the basic knowledge that you need to get started with Nginx.']}, {'end': 356.924, 'segs': [{'end': 148.003, 'src': 'embed', 'start': 118.95, 'weight': 1, 'content': [{'end': 123.851, 'text': "So now, when that computer initiates a response containing the web pages that you've requested for,", 'start': 118.95, 'duration': 4.901}, {'end': 130.252, 'text': 'these web pages basically travel through the global area network and reach your local area network and finally to your browser.', 'start': 123.851, 'duration': 6.401}, {'end': 137.216, 'text': 'So now the computer which is basically serving you with the web page is nothing but the web server guys.', 'start': 130.752, 'duration': 6.464}, {'end': 142.88, 'text': 'So when I say web server, I mainly mean the computer that is serving you the web pages.', 'start': 137.576, 'duration': 5.304}, {'end': 148.003, 'text': "So this computer is basically known as a web server, right? So I hope I'm clear with this point.", 'start': 143.24, 'duration': 4.763}], 'summary': 'Web pages travel from global area network to local area network before reaching browser.', 'duration': 29.053, 'max_score': 118.95, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ118950.jpg'}, {'end': 256.819, 'src': 'embed', 'start': 229.657, 'weight': 2, 'content': [{'end': 236.503, 'text': 'What happens is when you use a web server, you need applications or software applications which can make your computer a web server right?', 'start': 229.657, 'duration': 6.846}, {'end': 239.705, 'text': 'So basically, any computer can become a web server.', 'start': 236.843, 'duration': 2.862}, {'end': 245.93, 'text': 'So, if you want to make your computer web server, you have to install server softwares and connect the machine to the internet,', 'start': 240.086, 'duration': 5.844}, {'end': 247.972, 'text': 'which is basically the global area Network.', 'start': 245.93, 'duration': 2.042}, {'end': 256.819, 'text': 'So in the market, there are various web server software such as Zamp Apache nginx tornado caddy and Microsoft internet information services.', 'start': 248.472, 'duration': 8.347}], 'summary': 'Any computer can become a web server by installing server software and connecting to the internet. various web server software options include zamp apache, nginx, tornado, caddy, and microsoft internet information services.', 'duration': 27.162, 'max_score': 229.657, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ229657.jpg'}, {'end': 299.456, 'src': 'embed', 'start': 269.896, 'weight': 0, 'content': [{'end': 274.818, 'text': "So it's basically a web server used for reverse proxying caching and the load balancing.", 'start': 269.896, 'duration': 4.922}, {'end': 282.701, 'text': 'So nginx basically also provides your HTTP server capabilities and is mainly designed for maximum performance stability.', 'start': 275.218, 'duration': 7.483}, {'end': 291.128, 'text': 'Apart from that, let me also tell you that you know it also provides functions for a proxy server for an email, such as IMAP, POP3 and SMTP,', 'start': 283.201, 'duration': 7.927}, {'end': 294.691, 'text': 'and also uses a non-threaded and event-driven architecture.', 'start': 291.128, 'duration': 3.563}, {'end': 299.456, 'text': 'So, if I have to define nginx for you, or if you have to understand nginx in simple terms,', 'start': 294.992, 'duration': 4.464}], 'summary': 'Nginx is a web server for reverse proxying, caching, and load balancing, with support for email proxy functions like imap, pop3, and smtp, and a non-threaded, event-driven architecture.', 'duration': 29.56, 'max_score': 269.896, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ269896.jpg'}], 'start': 51.759, 'title': 'Understanding web servers and nginx', 'summary': "Details the process of requesting and receiving web pages, explaining the journey of a request through the global area network, emphasizing the role of web servers, components, and the importance of ip addresses and domain names. it also explores how any computer can become a web server, and discusses nginx's features, architecture, and benefits for enterprise applications.", 'chapters': [{'end': 160.654, 'start': 51.759, 'title': 'Understanding web servers', 'summary': 'Explains the process of requesting and receiving web pages, detailing the journey of a request through the global area network, the role of web servers, and the components of a web server, emphasizing the importance of ip addresses and domain names.', 'duration': 108.895, 'highlights': ['The process of requesting a web page involves a request being initiated by the browser, which then traverses through the global area network to reach a computer assigned to serve the requested page.', 'The computer serving the web page is referred to as a web server, and every web server has an IP address and a domain name.']}, {'end': 247.972, 'start': 160.674, 'title': 'Understanding web servers', 'summary': 'Explains how web servers work, detailing the process of fetching web pages through urls, and emphasizes the ability of any computer to become a web server by installing server software and connecting it to the internet.', 'duration': 87.298, 'highlights': ['Any computer can become a web server by installing server software and connecting it to the internet, enabling it to fetch web pages.', 'The process of fetching web pages involves a request being generated, traveling to the web server, and then the server fetching the requested page before sending it back to the browser.', "When a user searches for a specific page like 'slash blog' or 'slash community', the request goes to a web server with the domain name edureka.co, which then fetches the requested page and sends it back to the user's browser.", "The concept of web servers is explained by detailing the process of fetching web pages through URLs and the interaction between the user's browser and the web server."]}, {'end': 356.924, 'start': 248.472, 'title': 'Understanding nginx web server', 'summary': 'Discusses the features and architecture of nginx, an open-source web server known for reverse proxying, caching, load balancing, and reducing page load time, catering to enterprise applications and ensuring maximum performance and stability.', 'duration': 108.452, 'highlights': ['Nginx is an open-source web server used for reverse proxying, caching, and load balancing, designed for maximum performance and stability, reducing page load time for enterprise applications.', 'Nginx provides capabilities for HTTP server and functions as a proxy server for email (IMAP, POP3, SMTP) and uses a non-threaded and event-driven architecture.', 'The architecture of Nginx mainly uses a master-slave architecture that supports event-driven, asynchronous, and non-blocking models.']}], 'duration': 305.165, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ51759.jpg', 'highlights': ['Nginx is an open-source web server used for reverse proxying, caching, and load balancing, designed for maximum performance and stability, reducing page load time for enterprise applications.', 'The process of requesting a web page involves a request being initiated by the browser, which then traverses through the global area network to reach a computer assigned to serve the requested page.', 'Any computer can become a web server by installing server software and connecting it to the internet, enabling it to fetch web pages.']}, {'end': 589.72, 'segs': [{'end': 407.355, 'src': 'embed', 'start': 375.695, 'weight': 2, 'content': [{'end': 379.757, 'text': 'or, you know, you can generate a separate thread for each and every connection that is required right?', 'start': 375.695, 'duration': 4.062}, {'end': 385.701, 'text': 'Now, depending on the application, it can be very inefficient in terms of the memory and CPU consumption.', 'start': 380.257, 'duration': 5.444}, {'end': 388.523, 'text': 'Just imagine you had to do this for a large enterprise.', 'start': 386.021, 'duration': 2.502}, {'end': 394.607, 'text': 'So when you look at for a large enterprise, which you know so much of web pages and so much of data on each of its web pages,', 'start': 388.783, 'duration': 5.824}, {'end': 398.449, 'text': 'it can be very inefficient in terms of memory and CPU consumption, right?', 'start': 394.607, 'duration': 3.842}, {'end': 407.355, 'text': 'So spawning a separate process or a thread basically requires preparation of a new runtime environment, including allocation of heap and stack memory,', 'start': 398.83, 'duration': 8.525}], 'summary': 'Spawning separate threads for each connection can be inefficient for large enterprises in terms of memory and cpu consumption.', 'duration': 31.66, 'max_score': 375.695, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ375695.jpg'}, {'end': 443.802, 'src': 'embed', 'start': 416.663, 'weight': 0, 'content': [{'end': 424.91, 'text': 'which can eventually also lead to poor performance due to thread crashing or excessive context switching right now to avoid such kind of complications.', 'start': 416.663, 'duration': 8.247}, {'end': 428.473, 'text': 'nginx bullets master slave architecture that you can see on the screen.', 'start': 424.91, 'duration': 3.563}, {'end': 436.58, 'text': 'So nginx mainly focused on the ongoing development of the advanced event based mechanisms in the numerous numbers of operating systems.', 'start': 428.973, 'duration': 7.607}, {'end': 443.802, 'text': 'So Nginx uses multiplexing and event notifications heavily and dedicates the specific task to separate processes.', 'start': 437.08, 'duration': 6.722}], 'summary': 'Nginx focuses on advanced event-based mechanisms for better performance and uses multiplexing and event notifications heavily.', 'duration': 27.139, 'max_score': 416.663, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ416663.jpg'}, {'end': 486.537, 'src': 'embed', 'start': 458.426, 'weight': 1, 'content': [{'end': 462.348, 'text': "So, if you observe on your screen, there are mainly three workers that I've mentioned over here.", 'start': 458.426, 'duration': 3.922}, {'end': 469.35, 'text': 'right within each of these three workers, nginx can handle many thousands of concurrent connections and requests per seconds.', 'start': 462.348, 'duration': 7.002}, {'end': 474.652, 'text': "Now what happens over here is nginx doesn't spawn a process or a thread for every connection.", 'start': 469.79, 'duration': 4.862}, {'end': 486.537, 'text': 'Instead, what happens is worker processes accept new requests from a shared listen socket and execute a highly efficient run loop inside each worker to process thousands of connections per worker.', 'start': 475.213, 'duration': 11.324}], 'summary': 'Nginx can handle thousands of concurrent connections and requests per second using efficient worker processes.', 'duration': 28.111, 'max_score': 458.426, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ458426.jpg'}], 'start': 356.924, 'title': "Nginx's efficient connection handling", 'summary': "Discusses the inefficiency of traditional process or thread-based models in handling concurrent connections, emphasizing the drawbacks and impact on large enterprises. it also explains nginx's master-slave architecture, highlighting its efficient event-based mechanisms and worker processes capable of handling thousands of concurrent connections and requests per second.", 'chapters': [{'end': 416.663, 'start': 356.924, 'title': 'Concurrent connection handling', 'summary': 'Discusses the inefficiency of traditional process or thread-based models in handling concurrent connections, citing increased memory and cpu consumption and the need for preparation of new runtime environment. it emphasizes the drawbacks of spawning separate processes or threads for each connection, underscoring the impact on large enterprises.', 'duration': 59.739, 'highlights': ['Spawning a separate process or thread requires preparation of a new runtime environment, including allocation of heap and stack memory, and creation of new execution context, contributing to inefficiency in memory and CPU consumption.', 'Handling each connection with separate processor thread can be very inefficient in terms of memory and CPU consumption, especially for large enterprises with significant web pages and data, impacting performance and resource utilization.', 'Additional CPU time is spent creating new execution context and memory allocation for separate processes or threads, further exacerbating the inefficiency in handling concurrent connections.']}, {'end': 589.72, 'start': 416.663, 'title': 'Nginx architecture & worker processes', 'summary': "Explains nginx's master-slave architecture, highlighting its efficient event-based mechanisms and worker processes that can handle thousands of concurrent connections and requests per second, with the master process responsible for configuration validation and management.", 'duration': 173.057, 'highlights': ["Nginx's master-slave architecture focuses on ongoing development of advanced event-based mechanisms in numerous operating systems, using multiplexing and event notifications heavily and dedicating specific tasks to separate processes.", 'Worker processes within Nginx can handle thousands of concurrent connections and requests per second, without spawning a process or thread for every connection, and the master process is responsible for reading, validating configuration, and managing worker processes, enabling reconfiguration without service interruption and controlling non-stop binary upgrades.']}], 'duration': 232.796, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ356924.jpg', 'highlights': ["Nginx's master-slave architecture focuses on ongoing development of advanced event-based mechanisms in numerous operating systems, using multiplexing and event notifications heavily and dedicating specific tasks to separate processes.", 'Worker processes within Nginx can handle thousands of concurrent connections and requests per second, without spawning a process or thread for every connection, and the master process is responsible for reading, validating configuration, and managing worker processes, enabling reconfiguration without service interruption and controlling non-stop binary upgrades.', 'Handling each connection with separate processor thread can be very inefficient in terms of memory and CPU consumption, especially for large enterprises with significant web pages and data, impacting performance and resource utilization.']}, {'end': 1015.41, 'segs': [{'end': 644.541, 'src': 'embed', 'start': 608.055, 'weight': 2, 'content': [{'end': 615.921, 'text': 'the cache loader process is responsible for checking the on-disk cache items and populating the engines in memory database with the cache metadata.', 'start': 608.055, 'duration': 7.866}, {'end': 624.974, 'text': 'So the cache a loader basically prepares engines instances to work with the files already stored of the test in a specifically allocated directory structure.', 'start': 616.361, 'duration': 8.613}, {'end': 632.45, 'text': 'So basically traverses the directories, checks cache a content with the metadata, updates to relevant entries and shared memory,', 'start': 625.524, 'duration': 6.926}, {'end': 635.913, 'text': 'and then also exists when everything is clean and ready for use.', 'start': 632.45, 'duration': 3.463}, {'end': 644.541, 'text': "right now, apart from this, there's also a cache a manager, as I said, so cache a manager is mostly responsible for cache expiration and invalidation.", 'start': 635.913, 'duration': 8.628}], 'summary': 'Cache loader prepares in-memory database with cache metadata, cache manager handles expiration and invalidation.', 'duration': 36.486, 'max_score': 608.055, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ608055.jpg'}, {'end': 766.233, 'src': 'embed', 'start': 735.936, 'weight': 4, 'content': [{'end': 739.759, 'text': 'right?. So it has one master and there are various worker nodes working for it,', 'start': 735.936, 'duration': 3.823}, {'end': 744.563, 'text': 'and then you can use these worker nodes for processing thousands of requests at a time, right?', 'start': 739.759, 'duration': 4.804}, {'end': 746.245, 'text': "So I hope I'm clear with this point.", 'start': 744.844, 'duration': 1.401}, {'end': 748.324, 'text': "All right, so that's great.", 'start': 747.043, 'duration': 1.281}, {'end': 756.868, 'text': "So, now that you've understood Nginx architecture, let's look into the reasons on why you should learn nginx or why you should use nginx right,", 'start': 748.704, 'duration': 8.164}, {'end': 760.21, 'text': 'so you can use nginx because of the features that you can see on the screen.', 'start': 756.868, 'duration': 3.342}, {'end': 766.233, 'text': "It's basically very easy to install and maintain when I say it's very easy to install and maintain believe me guys.", 'start': 760.39, 'duration': 5.843}], 'summary': "Nginx has 1 master and multiple worker nodes, capable of handling thousands of requests at a time. it's easy to install and maintain, making it a valuable tool.", 'duration': 30.297, 'max_score': 735.936, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ735936.jpg'}, {'end': 959.509, 'src': 'embed', 'start': 921.134, 'weight': 0, 'content': [{'end': 927.063, 'text': 'So suppose you know if you have 20,000 requests that you want to access right, you can definitely do it with nginx.', 'start': 921.134, 'duration': 5.929}, {'end': 931.387, 'text': 'Apart from all these features guys, the final feature is on-the-fly upgrades.', 'start': 927.663, 'duration': 3.724}, {'end': 933.349, 'text': 'So when I say on-the-fly upgrades,', 'start': 931.687, 'duration': 1.662}, {'end': 941.357, 'text': 'I mean that you know Nginx is one of the very few systems that can be patched or upgrade without having to take a downtime and disrupt your businesses,', 'start': 933.349, 'duration': 8.008}, {'end': 944.78, 'text': 'right?. So obviously you would never want to disrupt your business, right?', 'start': 941.357, 'duration': 3.423}, {'end': 951.026, 'text': 'So Nginx is one such software which can get upgraded without having to take any downtime for your enterprise.', 'start': 945.1, 'duration': 5.926}, {'end': 955.848, 'text': "Right? So if you have to look for the features, it's basically ease of installation and maintenance.", 'start': 951.306, 'duration': 4.542}, {'end': 958.089, 'text': 'It reduces the wait time for users.', 'start': 956.208, 'duration': 1.881}, {'end': 959.509, 'text': 'It improves performance.', 'start': 958.249, 'duration': 1.26}], 'summary': 'Nginx allows on-the-fly upgrades, reducing downtime and improving performance for 20,000 requests.', 'duration': 38.375, 'max_score': 921.134, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ921134.jpg'}], 'start': 590.24, 'title': 'Cache loader, cache manager & nginx architecture', 'summary': "Explains the roles of cache loader and cache manager in populating in-memory database with cache metadata and handling cache expiration, and details nginx's architecture, features, and benefits including improved performance, load balancing, and on-the-fly upgrades.", 'chapters': [{'end': 644.541, 'start': 590.24, 'title': 'Understanding cache loader and cache manager', 'summary': 'Explains the roles of cache loader and cache manager, with the cache loader being responsible for populating the in-memory database with cache metadata, and the cache manager handling cache expiration and invalidation.', 'duration': 54.301, 'highlights': ['The cache loader is mainly responsible for checking the on-disk cache items and populating engines in memory database with the cache metadata.', 'The cache loader process prepares engine instances to work with the files already stored in a specifically allocated directory structure by traversing directories, checking cache content with the metadata, and updating relevant entries and shared memory.', 'The cache manager is mostly responsible for cache expiration and invalidation.']}, {'end': 1015.41, 'start': 644.881, 'title': 'Nginx architecture and features', 'summary': "Explains nginx's architecture, which consists of a master process selecting worker nodes to process http requests and the features of nginx, including easy installation and maintenance, reduced user wait time, improved performance, load balancing, scalability, and on-the-fly upgrades.", 'duration': 370.529, 'highlights': ['Nginx architecture involves a master process selecting worker nodes to process HTTP requests, working on an event-driven and asynchronous model, and using a simple master-slave architecture with load balancing for processing thousands of requests at a time. The architecture includes a master process selecting worker nodes, using an event-driven and asynchronous model, and a simple master-slave architecture with load balancing for processing thousands of requests at a time.', 'Nginx offers features such as easy installation and maintenance, reduced user wait time, improved performance, load balancing, scalability, and on-the-fly upgrades, making it a versatile and efficient web server. Nginx offers easy installation and maintenance, reduced user wait time, improved performance, load balancing, scalability, and on-the-fly upgrades, making it a versatile and efficient web server.', 'Nginx can handle increasing numbers of concurrent requests, unlike traditional web servers like Apache and internet information services, and can be patched or upgraded without downtime, ensuring efficient performance for large enterprises. Nginx can handle increasing numbers of concurrent requests and can be patched or upgraded without downtime, ensuring efficient performance for large enterprises.']}], 'duration': 425.17, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ590240.jpg', 'highlights': ['Nginx can handle increasing numbers of concurrent requests and can be patched or upgraded without downtime, ensuring efficient performance for large enterprises.', 'Nginx offers easy installation and maintenance, reduced user wait time, improved performance, load balancing, scalability, and on-the-fly upgrades, making it a versatile and efficient web server.', 'The cache loader process prepares engine instances to work with the files already stored in a specifically allocated directory structure by traversing directories, checking cache content with the metadata, and updating relevant entries and shared memory.', 'The cache loader is mainly responsible for checking the on-disk cache items and populating engines in memory database with the cache metadata.', 'Nginx architecture involves a master process selecting worker nodes to process HTTP requests, working on an event-driven and asynchronous model, and using a simple master-slave architecture with load balancing for processing thousands of requests at a time.', 'The cache manager is mostly responsible for cache expiration and invalidation.']}, {'end': 1703.056, 'segs': [{'end': 1094.854, 'src': 'embed', 'start': 1015.41, 'weight': 0, 'content': [{'end': 1020.315, 'text': 'but nginx is so simple to use that you know you can go along with it, even with the default settings.', 'start': 1015.41, 'duration': 4.905}, {'end': 1029.564, 'text': 'So some of the most important pieces of the nginx config file are the worker process the worker connections access log and error log and the gzip.', 'start': 1020.735, 'duration': 8.829}, {'end': 1036.021, 'text': 'So basically the worker process is basically a setting that defines the number of worker processes that nginx will use.', 'start': 1030.057, 'duration': 5.964}, {'end': 1043.887, 'text': 'So since nginx is a single credit this number could usually be equal to the number of CPU codes coming to the worker connections.', 'start': 1036.462, 'duration': 7.425}, {'end': 1050.472, 'text': 'The worker connections is the maximum number of simultaneous connections for each worker processes and tells our worker processes.', 'start': 1043.946, 'duration': 6.526}, {'end': 1053.994, 'text': 'How many people can simultaneously be served by nginx right?', 'start': 1050.552, 'duration': 3.442}, {'end': 1058.738, 'text': 'So, basically, the bigger it is, the more simultaneous users the nginx will be able to serve.', 'start': 1054.315, 'duration': 4.423}, {'end': 1062.44, 'text': 'Coming to the third one, which is the access log and the error log.', 'start': 1059.298, 'duration': 3.142}, {'end': 1067.044, 'text': 'These are the files that nginx will use to log any errors and access attempts.', 'start': 1062.841, 'duration': 4.203}, {'end': 1073.588, 'text': 'So these logs are generally reviewed for debugging and troubleshooting coming to the last setting that is gzip.', 'start': 1067.444, 'duration': 6.144}, {'end': 1077.471, 'text': 'These are the settings for the gzip compression of nginx responses.', 'start': 1073.968, 'duration': 3.503}, {'end': 1084.536, 'text': 'So enabling this one along with the various sub settings that by default are committed out will result in quite a big performance upgrade.', 'start': 1077.971, 'duration': 6.565}, {'end': 1086.67, 'text': "So I hope I'm clear with these points.", 'start': 1085.109, 'duration': 1.561}, {'end': 1094.854, 'text': 'So, basically, apart from the events context and the HTTP context, you can also configure for your work processes worker connections, access, login,', 'start': 1087.05, 'duration': 7.804}], 'summary': 'Nginx config: worker processes, connections, access & error logs, gzip for performance upgrade.', 'duration': 79.444, 'max_score': 1015.41, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ1015410.jpg'}, {'end': 1143.899, 'src': 'embed', 'start': 1114.464, 'weight': 4, 'content': [{'end': 1121.068, 'text': "So we'll start by installing nginx, and once you see that you know your nginx installed, you have to adjust your firewall.", 'start': 1114.464, 'duration': 6.604}, {'end': 1127.392, 'text': 'once you see that you know your firewall is also adjusted, you can check your server whether whether your server is running or not, and then,', 'start': 1121.068, 'duration': 6.324}, {'end': 1133.315, 'text': 'once your server is running, it means that you know your server is up and running and finally you can manage the nginx process,', 'start': 1127.392, 'duration': 5.923}, {'end': 1135.997, 'text': 'by which I mean that you know you can restart or you can stop.', 'start': 1133.315, 'duration': 2.682}, {'end': 1137.858, 'text': "Right? So I hope I'm clear.", 'start': 1136.437, 'duration': 1.421}, {'end': 1143.899, 'text': "So now let's just shift back to our Ubuntu operating system so that I show you how you can install nginx right?", 'start': 1138.038, 'duration': 5.861}], 'summary': 'Install nginx, adjust firewall, check server status, manage nginx process on ubuntu os.', 'duration': 29.435, 'max_score': 1114.464, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ1114464.jpg'}, {'end': 1245.183, 'src': 'embed', 'start': 1215.878, 'weight': 6, 'content': [{'end': 1222.782, 'text': "right now, since you've enabled your firewall, what you can do is you can list the application configuration that your firewall knows right?", 'start': 1215.878, 'duration': 6.904}, {'end': 1227.766, 'text': "So for that you'll just type in sudo ufw app list.", 'start': 1222.802, 'duration': 4.964}, {'end': 1233.576, 'text': "So when you type on this command, you'll see that you know you'll get all the available applications are nginx full,", 'start': 1228.573, 'duration': 5.003}, {'end': 1236.558, 'text': 'nginx HTTP and nginx HTTPS right?', 'start': 1233.576, 'duration': 2.982}, {'end': 1245.183, 'text': 'So basically, this profile opens both port 80, that is, basically the unencrypted web traffic, and also the port 443 that allows the,', 'start': 1236.878, 'duration': 8.305}], 'summary': 'Firewall enabled, lists applications including nginx with open ports 80 and 443.', 'duration': 29.305, 'max_score': 1215.878, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ1215878.jpg'}, {'end': 1634.483, 'src': 'heatmap', 'start': 1568.033, 'weight': 5, 'content': [{'end': 1572.616, 'text': "So you'll just type in sudo, vi, slash, etc.", 'start': 1568.033, 'duration': 4.583}, {'end': 1574.638, 'text': 'slash hose right?', 'start': 1572.616, 'duration': 2.022}, {'end': 1580.092, 'text': 'So when you open this file you can see that you know you can mention the domain name and the IP address.', 'start': 1575.33, 'duration': 4.762}, {'end': 1581.673, 'text': "So I'll just press on enter.", 'start': 1580.372, 'duration': 1.301}, {'end': 1586.414, 'text': "So we are I'll mention my domain name and the IP address.", 'start': 1583.453, 'duration': 2.961}, {'end': 1595.778, 'text': "So let's say I consider the IP address to be 0.0.0.0, and then I mentioned the domain name to be sample.com.", 'start': 1586.895, 'duration': 8.883}, {'end': 1598.139, 'text': "right?. So once I'm done with that, I'll just save.", 'start': 1595.778, 'duration': 2.361}, {'end': 1604.219, 'text': 'So if I just open this file again, you can see that you know, we have mentioned our domain name and the IP address.', 'start': 1598.954, 'duration': 5.265}, {'end': 1606.641, 'text': "So we'll just save this file and then we'll go back.", 'start': 1604.259, 'duration': 2.382}, {'end': 1611.905, 'text': 'Now what you have to do is you have to move your website static files to the server right?', 'start': 1607.341, 'duration': 4.564}, {'end': 1618.651, 'text': "So, since you can't deliver your website if the server doesn't have your files, we just have to add your files to the server.", 'start': 1612.346, 'duration': 6.305}, {'end': 1634.483, 'text': 'So what you can simply do is you can just use the command SCP hyphen r star 0.0.0.0, and then you can just mention colon slash var, slash www,', 'start': 1619.032, 'duration': 15.451}], 'summary': 'Configuring domain and ip, transferring files to server using scp command', 'duration': 66.45, 'max_score': 1568.033, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ1568033.jpg'}], 'start': 1015.41, 'title': 'Nginx configuration and deployment', 'summary': 'Covers essential nginx configuration components such as worker process, connections, access log, error log, and gzip, emphasizing their impact on server performance and user connections. it also details the step-by-step process of installing nginx, enabling the firewall, checking server status, managing the nginx process, deploying a web application, and configuring the domain name to point to the server ip address.', 'chapters': [{'end': 1094.854, 'start': 1015.41, 'title': 'Nginx configuration essentials', 'summary': 'Discusses the key components of the nginx config file, including worker process, worker connections, access log, error log, and gzip, emphasizing their impact on server performance and user connections.', 'duration': 79.444, 'highlights': ['The worker process setting in the nginx config file defines the number of worker processes used by nginx, with the recommendation to set it equal to the number of CPU cores for optimal performance.', 'The worker connections setting determines the maximum number of simultaneous connections for each worker process, directly impacting the number of users nginx can serve simultaneously.', 'Enabling gzip compression in nginx, along with its various sub-settings, can result in a significant performance upgrade, enhancing server response times and user experience.', 'Access log and error log files in nginx are crucial for logging errors and access attempts, aiding in debugging and troubleshooting server issues.']}, {'end': 1703.056, 'start': 1094.854, 'title': 'Installing nginx & deploying application', 'summary': 'Covers the step-by-step process of installing nginx, including enabling the firewall, checking server status, and managing the nginx process, followed by deploying a web application on the localhost and configuring the domain name to point to the server ip address.', 'duration': 608.202, 'highlights': ["The process of installing Nginx involves updating the VM, installing Nginx, enabling the firewall, and checking the server status, followed by managing the Nginx process. The installation process includes updating the VM using 'sudo apt-get update', installing Nginx with 'sudo apt-get install nginx', enabling the firewall with 'sudo ufw enable', and checking Nginx status using 'sudo systemctl status nginx'.", "Configuring the firewall for Nginx involves allowing specific applications and checking their status. The firewall configuration includes listing available applications using 'sudo ufw app list', allowing specific applications like nginx-full, nginx-HTTP, and nginx-HTTPS using 'sudo ufw allow', and checking the status of allowed applications using 'sudo ufw status'.", "Deploying a web application involves copying the application files to the server, configuring the domain name to point to the server IP address, and moving the website static files to the server. The deployment process includes copying the application files to the server using 'sudo cp -r', configuring the domain name in the host file using 'sudo vi /etc/hosts', and moving website static files to the server using 'SCP -r'."]}], 'duration': 687.646, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ1015410.jpg', 'highlights': ['Enabling gzip compression in nginx can result in a significant performance upgrade, enhancing server response times and user experience.', 'The worker connections setting determines the maximum number of simultaneous connections for each worker process, directly impacting the number of users nginx can serve simultaneously.', 'The worker process setting in the nginx config file defines the number of worker processes used by nginx, with the recommendation to set it equal to the number of CPU cores for optimal performance.', 'Access log and error log files in nginx are crucial for logging errors and access attempts, aiding in debugging and troubleshooting server issues.', 'The process of installing Nginx involves updating the VM, installing Nginx, enabling the firewall, and checking the server status, followed by managing the Nginx process.', 'Deploying a web application involves copying the application files to the server, configuring the domain name to point to the server IP address, and moving the website static files to the server.', 'Configuring the firewall for Nginx involves allowing specific applications and checking their status.']}, {'end': 2079.837, 'segs': [{'end': 1747.639, 'src': 'embed', 'start': 1719.987, 'weight': 0, 'content': [{'end': 1724.49, 'text': 'So for that, what you can simply do is you can just type in CD slash, etc.', 'start': 1719.987, 'duration': 4.503}, {'end': 1725.951, 'text': 'slash engines.', 'start': 1724.49, 'duration': 1.461}, {'end': 1729.252, 'text': 'Right So you just go back to the engines folder.', 'start': 1726.691, 'duration': 2.561}, {'end': 1733.694, 'text': 'So down in this engines folder basically all the configuration files are located.', 'start': 1729.812, 'duration': 3.882}, {'end': 1735.654, 'text': 'So there are mainly two directories.', 'start': 1734.074, 'duration': 1.58}, {'end': 1737.575, 'text': "So I'll just list and show you so.", 'start': 1735.734, 'duration': 1.841}, {'end': 1743.477, 'text': 'if you see, there are mainly two directories that you should be interested about, that is decides available and the sites enabled.', 'start': 1737.575, 'duration': 5.902}, {'end': 1747.639, 'text': 'So, basically, in these two directories, what is happening is the sites available.', 'start': 1743.997, 'duration': 3.642}], 'summary': 'Navigate to engines folder and locate two directories: sites available and sites enabled.', 'duration': 27.652, 'max_score': 1719.987, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ1719987.jpg'}, {'end': 1784.559, 'src': 'embed', 'start': 1753.661, 'weight': 2, 'content': [{'end': 1758.644, 'text': 'contains the links to the configuration files that the nginx will actually read and run right.', 'start': 1753.661, 'duration': 4.983}, {'end': 1766.827, 'text': "So what's happening in sites available is it contains all the individual configuration files for all your possible static websites and the sites enabled.", 'start': 1758.984, 'duration': 7.843}, {'end': 1770.969, 'text': 'contains the links to the configuration files that nginx will actually read and run.', 'start': 1766.827, 'duration': 4.142}, {'end': 1782.818, 'text': "Right. So what we're going to basically do is we're going to create a configuration file in the sites available and then we're going to create a symbolic link to that file in the sites enabled to actually tell engines to run it.", 'start': 1771.389, 'duration': 11.429}, {'end': 1784.559, 'text': "Right So I hope I'm clear with it.", 'start': 1783.118, 'duration': 1.441}], 'summary': 'Creating config files in sites available and linking to sites enabled for nginx to run.', 'duration': 30.898, 'max_score': 1753.661, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ1753661.jpg'}, {'end': 1827.029, 'src': 'heatmap', 'start': 1795.348, 'weight': 0.807, 'content': [{'end': 1800.611, 'text': "Right. So for that what you'll simply do is you'll just open the sites available directory.", 'start': 1795.348, 'duration': 5.263}, {'end': 1806.736, 'text': "in that you'll just open the demo folder and then you'll open a new file in which you're going to mention few parameters, right?", 'start': 1800.611, 'duration': 6.125}, {'end': 1812.98, 'text': "So for that you'll just type in sudo vi sites available.", 'start': 1806.756, 'duration': 6.224}, {'end': 1814.301, 'text': 'slash demo, right?', 'start': 1812.98, 'duration': 1.321}, {'end': 1816.182, 'text': 'So a new file has opened up.', 'start': 1814.661, 'duration': 1.521}, {'end': 1819.325, 'text': 'So we here you can mention all the parameters.', 'start': 1816.823, 'duration': 2.502}, {'end': 1827.029, 'text': "So I'll just mention server and then listen 80, default server.", 'start': 1819.365, 'duration': 7.664}], 'summary': 'Open sites available directory, open demo folder, create new file, mention server and listen 80.', 'duration': 31.681, 'max_score': 1795.348, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ1795348.jpg'}, {'end': 1972.217, 'src': 'embed', 'start': 1947.645, 'weight': 4, 'content': [{'end': 1955.448, 'text': 'slash nginx sites enabled and then again copy to demo right.', 'start': 1947.645, 'duration': 7.803}, {'end': 1957.729, 'text': 'So basically all our files would be copied.', 'start': 1955.488, 'duration': 2.241}, {'end': 1959.53, 'text': 'So now moving forward.', 'start': 1958.37, 'duration': 1.16}, {'end': 1963.672, 'text': 'Let me tell you that you know our nginx service was also running on our localhost 80, right?', 'start': 1959.63, 'duration': 4.042}, {'end': 1968.394, 'text': "So since we've just configured our port number for our website also to be 80,", 'start': 1963.932, 'duration': 4.462}, {'end': 1972.217, 'text': 'Both the nginx server and your website are trying to access on the same port, right?', 'start': 1968.394, 'duration': 3.823}], 'summary': 'Nginx configured to run website on port 80, causing port conflict.', 'duration': 24.572, 'max_score': 1947.645, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ1947645.jpg'}], 'start': 1703.636, 'title': 'Configuring engine service and nginx for website deployment', 'summary': "Explains how to configure the engine service to serve a website and the process of configuring nginx for website deployment, resulting in a successful deployment of a simple application. it covers navigating to the engines folder, accessing configuration files, creating configuration files in the 'sites-available' directory, creating symbolic links in the 'sites-enabled' directory, and restarting the nginx service.", 'chapters': [{'end': 1737.575, 'start': 1703.636, 'title': 'Configuring engine service for website', 'summary': 'Explains how to configure the engine service to serve a website by navigating to the engines folder and accessing the configuration files, which mainly consist of two directories.', 'duration': 33.939, 'highlights': ['Navigating to the engines folder by typing CD /etc/engines to access the configuration files.', 'The engines folder contains mainly two directories where all the configuration files are located.']}, {'end': 2079.837, 'start': 1737.575, 'title': 'Configuring nginx for website deployment', 'summary': "Explains the process of configuring nginx for website deployment, including creating configuration files in the 'sites-available' directory, creating symbolic links in the 'sites-enabled' directory, and restarting the nginx service to enable the deployment, resulting in a successful deployment of a simple application.", 'duration': 342.262, 'highlights': ["The 'sites-available' directory contains individual configuration files for static websites, while the 'sites-enabled' directory contains symbolic links to the configuration files that Nginx will read and run. This highlights the purpose of the 'sites-available' and 'sites-enabled' directories in managing configuration files for Nginx, providing a clear understanding of their roles in the deployment process.", "Creating a configuration file in the 'sites-available' and creating a symbolic link in the 'sites-enabled' enables Nginx to run the specified file, facilitating the deployment process. This highlight explains the crucial steps involved in enabling Nginx to run the configuration file, emphasizing the key actions required for successful deployment.", 'Changing the port number for the website to 80 and restarting the Nginx service to match the port configuration ensures successful deployment of the application. This highlight emphasizes the importance of aligning the port configurations for the website and the Nginx service, ultimately leading to a successful deployment.']}], 'duration': 376.201, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/1ndlRiaYiWQ/pics/1ndlRiaYiWQ1703636.jpg', 'highlights': ['Navigating to the engines folder by typing CD /etc/engines to access the configuration files.', 'The engines folder contains mainly two directories where all the configuration files are located.', "Creating a configuration file in the 'sites-available' and creating a symbolic link in the 'sites-enabled' enables Nginx to run the specified file, facilitating the deployment process.", "The 'sites-available' directory contains individual configuration files for static websites, while the 'sites-enabled' directory contains symbolic links to the configuration files that Nginx will read and run.", 'Changing the port number for the website to 80 and restarting the Nginx service to match the port configuration ensures successful deployment of the application.']}], 'highlights': ['Nginx is an open-source web server used for reverse proxying, caching, and load balancing, designed for maximum performance and stability, reducing page load time for enterprise applications.', "Nginx's master-slave architecture focuses on ongoing development of advanced event-based mechanisms in numerous operating systems, using multiplexing and event notifications heavily and dedicating specific tasks to separate processes.", 'Nginx can handle increasing numbers of concurrent requests and can be patched or upgraded without downtime, ensuring efficient performance for large enterprises.', 'Enabling gzip compression in nginx can result in a significant performance upgrade, enhancing server response times and user experience.', 'The worker connections setting determines the maximum number of simultaneous connections for each worker process, directly impacting the number of users nginx can serve simultaneously.', 'Access log and error log files in nginx are crucial for logging errors and access attempts, aiding in debugging and troubleshooting server issues.']}