NGINX tutorial | Learn NGINX Fundamentals | Eduonix

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone I would like to welcome you to the first lecture in our course in the next from zero to hero from radionics my name is Ahmed and in this first section of the course we are going to have a brief introduction to the web server in general the HTTP protocol and where engine X fits in this world now let's have a visit to a web site and let's see and let's say is google.com open up your browser and go to www.google.com in a few seconds the Google home page appears but within you typing the URL pressing enter and the page appearing lots of things had happened a request was initiated by your browser leaving your local network traversing the global network or the Internet as it is called till it reaches one of the computers which are assigned with serving Google's homepage that computer the one that was serving the Google's homepage in return initiates a response containing the contents of the requested page this response takes a similar route through the Internet till it reaches your local network and finally your computer's browser he came here that was tasket with serving you this web page is called a web server of course all of you are familiar with web servers all of you have visited the internet at least once I hope and I assume you have a good idea about what our observer is but let's see the details that some of you might not be aware of when you issued the request to visit the Google web page file typing www.google.com on in your browser and when you receive the response this request in response in order for them to be successful in order for them to display the page the way you saw it on your screen on your browser or on your mobile device if you are using a cell phone or a tablet this is called the HTTP protocol HTTP stands for hypertext Transfer Protocol a protocol and Ikey jargon refers to a set of rules that are agreed upon between two or more parties for communication when you requested www.google.com you initiated an HTTP GET request what's that you have gold in HTTP language the scope and get request you are asking the server that you want to get a page that resides on the file system somewhere on that server when the web server receives this request it knows that it should reply with a response containing the HTML CSS JavaScript images and any other components that happen to be on the page your browser is responsible for interpreting this data and displaying it in a proper manner by default the HTTP protocol is served on port 80 of the web server and if you are not aware of ports a port is just a window from which the server accepts connections just think of it as a window in your house if you want air and Sun energy house you will have to open a window in your room or where you are sitting but imagine that you have several windows in your house and imagine that you have different types of things that you want to receive through those windows perhaps some people want to talk to you through the windows they are standing outside your home and you want to talk to you to these windows so you will need to know which person can talk to you through which windows so you numbers your windows let's say from 1 to 10 if you have 10 windows and then you say ok I want to talk to Joe I'm going to talk to him on window number 5 I want to talk to Mary I can talk to her on window number 9 and so on and so forth in compare networking this is done through something called port support it's just a window on the server on the computer it agrees or it specifies that this port will be used to receive that sort of connection that sort of communication in HTTP world this window or this port by default is port 80 and this court may be easily changed and many web servers actually do this for reasons of security and for other reasons why for example if there is already another window or another port that is already open for some other application and it's already listening for the accepting connections on port 80 this port can be changed to another port and it will act perfect and as efficient as sport a teetotum so the number here is just a number it's useless is just a default number that is agreed upon by the HTTP developers around the world and web developers that this sport will be used for HTTP connections nothing more nothing less in the coming lab or in the coming mini lab let's examine this operation in a little more detail so what we're going to do now is that I'm going to open my internet browser in this slab I'm going to use Mozilla Firefox but you can use Google Chrome or whatever browser your favor like Safari for Mac or opera or whatever browser I just happen to be using your Firefox and my personal preference in browsers I'm going to open my browser and before I do anything I want to enable the inspector window so I'm going to go to the developers or the developer tools here from this window as you can see and I'm going to click on inspector and I'm going to choose the network tab which is the last step here in this console and in the browser I'm going to type the URL of WordPress so it's double double it up little WordPress tour or WordPress of course is a very famous CMS framework and blog application it is very famous I'm going to visit this website and I'm going to have a look here at the network tab and the several information that has filled the screen here the network's app in the browser and you have a similar functionality in Google Chrome I think that's cool also that the developer tab you can just right click anywhere on the page and close and chose inspect element and it will open to you a similar window as this one with a tab that is called network okay let's have a look here at the network and as you can see here I have several lines of information we have here at status we have here a method we have here some sort of an address and the domain and the calls and a5 and so on and so much other information let's concentrate here and the status and the method for example as you can see here I have status of 301 status of 200 status of 206 ok and we for the status is basically the response that I got from the web server when I issued my request when I told wordpress.org my browser issued requests as we have just discussed to the web server that is responsible for receiving requests web requests that are requesting the website www.irs.gov one is a redirect request is just informing the browser that it has to go somewhere else in order to download or view the requested web page so as you can see here I was requesting WWE world and I ended up going to work press foot org without the WWE without at the start of the orell this is because this status was returned to the browser by the web server and as you can see here Firefox is even giving us the meaning of this status code 301 moved permanently and if I have the status of 200 this means okay this means that my request has been served and that I am ready to receive the answer or response from the web server in this case it is a web page or a document that is serving wordpress.org and if I click on this request as you can see here on the right-hand side of the screen let's get this a little clearer and as you can see here I have response headers these are part of the HTTP protocol these are some metadata about the response object that I received the response object is just a way to say the container that contain the data that I want to receive the HTML of the speech those colors those fonts this JavaScript that makes this happen they got the the menu those drop down menus and all these things all this is the content of the page that has been received through those headers so have a look here at the response headers that I have in my response I have content including is gzip this means that the webserver is telling me that it has compressed the content that it is serving for better performance of course and that I must decompress this content in order to be displayed on the screen and the browser must have this information ready otherwise it won't be able to display the information or the data of the webpage clearly I also have content type text slash HTML this means that I am receiving an HTML content because as you know and of course Eddy are already experiencing web browsers can be used to also download files not only display web pages so for example may download an mp3 or a video file or an ISO file if you are installing something and you download the source file for it this content type in that case will be different it won't be text over HTML it will be like for example an image or a binary data or some other text that indicates to the browser that it shouldn't display the contents of this file on the screen rather it has to download it or do something else with it next we have the date next we have the server and this is very important here to notice the server here is Engine X that is because this website wordpress.org is using engine X the topic of our course as the web server that is used to serve all this content ok so as you can see here I have so much information that can be grabbed from the network tab of the inspector tool of Firefox and I think every modern browser now has a State has a thing like this in chrome you have it in Safari and opera all the major browsers have this sort of functionality where you can discover and expand examine the various requests and responses that have been received by your browser so what is the web server in a little more detail well technically the web server is any computer that has a running daemon and a demon is just a name to call a service running in the background whenever you have a service running in the background and your operating system is a Linux or UNIX or a unix-like system like that it is called a daemon this demon this service accepts HTTP requests on support and by default this port is 80 and it replies with also HTTP responses this is typically HTML content but of course this can be something else like you can you can serve whatever files you need you can serve videos you can serve images you can serve whatever files you need but involved in most cases it is just plain HTML occasionally with some other mixes content like CSS JavaScript and of course images so serving just HTML as I said along with images J's and CSS is serving static content that is content that does not change from one user or condition to another nowadays this is very rare if you have worked with WordPress before or if you have worked with any CMS which is short for content management system you are noticed that a lot of what you see on the screen is dynamic this means that it changes from one visit to another and from one user to another if you are the administrator of the website you see some content if you are a normal user you see a totally different content if you are a guest you will see a third type of content and so on and so forth this is done by what's called dynamic content and to differentiate between dynamic content and static content let's give this example let's say that you have a website that contains like 10 files file1 file2 file 3 5 4 5 4 and so on till your each file 10 for HTML now the user that visits this website or what it is presented with is a list of files that it can reach to so if the user clicks on file 1 that HTML on a link or typed www.example.com slash file 1 that HTML he or she will just receive the contents of this file whether he is the administrator whether he is a normal user word whether he is a search engine but whatever he is this web server won't care it will just serve the contents of this static file however if you are working with a programming language like Ruby or PHP or Python or asp.net or any of the amazing web developer languages that are available today you will have the ability to serve different content depending on so much conditions that you can find UHN your website or in other words it's called mouth a web application because it uses a dynamic language or web development language you can for example present the user with a login page if the page that he or she is trying to access is protected you can use this language for example to make a shopping cart where the user can add items to the shopping cart and then checkout and then pay with his or her credit card and so on and so forth all these things are not possible where the static files all these things are possible only if you use dynamic content using a web development language like the ones we have just stated the web server does this by handing the requests to an application handler if you are using PHP or OB or asp.net this these are all integrated in some way or another with the web server so that when the web server receives a request that is intended to be served by this dynamic content language like for example if the web server censored that the user is accessing a page that is ending in dot PHP it automatically recognizes that it cannot serve this page it cannot serve a page that is called like for example index.php no it will take this page sends it to the interpreter of the application like for example the PHP interpreter and this interpreter will process the page extract information from the page though whatever is needed like for example contact a database or whatever it needs to do and then sends the web server they processed HTML together with any images or CSS or JavaScript and then the web service takes this HTML and presented and presented back to the client lots of web servers are available in the market today Microsoft Internet Information Services for example actually and of course engine X are among those web servers and of course the topic of this course is engine X in the next lecture we are going to see in a little more detail what engine X is where it fits in the world of web servers and why ever should we be using it so see you next hello everyone welcome back this is a new lecture in your course engine x from zero to hero by Eddie Alex my name is Ahmed in this section we are going to delve more into what Indian X is why you should use it what is the difference between it and other web servers in the market so let's get started internets pronounced as engine X of course if you're reading this and not listening to me and you haven't seen before in your next weekend you may be wondering how it is portal it is pronounced it well it is pronounced it engine X like the M and then Gen X it is that web server developed by Igor C so web in 2002 it was officially released in 2004 according to the official website devil devil devil engine x.org it is defined as in HTTP and reverse proxy server email proxy server and a generic TCP UDP proxy server and Esther Mac craft which is a website that is considered with collecting statistical information about different web trends and web servers and types of browsers that are surfing the net and in addition to other statistics net craft says that intern X has served or proxied more than 28% of the busiest web sites in February 2017 and that is considerably a large number engine X is a powerful web server that is capable of doing lots of complex stuff let's see why you should be using it and I guess that is a question that you shouldn't be asking yourself now if you have decided to take this course however you have to realize the power of Internet's what it is good for and where you should use it if we're starting to use it now why should I be using engine X notice how I chose the word using engine X instead of the word switching to engine X that is because you don't have to drop your existing web server or could totally change your infrastructure to enjoy the power of engine X it can nicely fit into your setup and enhance it in turn X provides first of all speed now who wants a slow loading page today a user cannot wait more than two seconds to see a fully loaded page otherwise you start losing visitors you know now 10 years ago this number was much higher if I have a look here at this graph that is actually taken from the internet step our website have a look here at this graph in 1993 which is like more than 20 years ago users could wait for a web page to load for up to 10 seconds without leaving it they were patient enough to wait for a page to load and that load time may switch after 10 seconds so imagine 10 seconds now I want you to hold the timer and to type in the address of a website that you know it's a slow one and that it's loaded with graphics and like flash objects and so on and so forth that it takes a considerably long time to load and I want you to and I want you to measure the amount of time that this webpage took to be fully loaded and how much impatient you turn to be when you are when you are waiting for this page to full load I bet you're going to wait more than five seconds before you start a get bored and start closing the browser window or switch on to something else and that is of course because of the huge number of websites that are available now on the Internet 20 years ago or more the number of websites that were available who are so limited compared to the ones that are available now if you work for example SEC searching for pets you want information about a specific type of pet or a doctor example you'll find literally thousands of websites that that are all giving you the information that you need 20 years ago or 25 years ago that was not the case maybe a handful of web pages or landfill websites have this information so you have to wait as a user for this web page to load because you know that not all the other websites will have a similar load time but also you don't have that much of choice so we have to load for web page to do its work and provide you with the information you need nowadays you would not wait more than two seconds as this graph mix before you start leaving this page are looking for some other web pages that would provide the same information that you need or even better the competition is so hard compared with 1993 or the early 90s or even the early 2000s and also the page weight has dramatically increased in 1990 in 1995 as you can see the page barely Richard maybe like 10 kilobytes as you can see here in this square it was so small in size and as years have passed let's have a look here at 2003 you barely reach it 400 kilobytes of webpage size nowadays and this graph is a little old it is ending at 2014 maybe now the web pages we are now in 2070 maybe the web pages have increased in size dramatically as I can see from the slope of this graph maybe it's now it maybe it now has hit or asked the two megabytes limit so what I want to say now is that web pages are becoming water in size with lots of components lots of JavaScript lots of CSS and lots of even HTML that web servers now need to serve those pages not only as fast as possible and in less than two seconds but also they have to work with a page or death size so imagine now that you have a server and you need this web server to serve a page that is more than 2 megabytes of size in less than 2 seconds that a big challenge so speed is one of the things that engine X excels at more than any other web server in the market the second thing is acceleration if you already have two or more web servers running the same application in your next can accelerate performance by routing traffic to those web servers in a way that enhances the overall speed and this is one of the things that intern X is amazing at doing it not only serve as a web server but it can also be integrated into your existing environment if you have already a form of web servers like 4 or 5 web servers you can add in your necks to those web servers not as a new web server but as something called a reverse proxy a reverse proxy is just a device or a service that receives requests from a client on behalf of the back end web server on behalf of the real web server it takes this request and it is responsible for handing it to the appropriate back-end web server and when the web server is done processing it and sends the result to the Internet's intern X is responsible for handling this request back to the client this enhances performance because it involves caching and involves other algorithms that dramatically increases the speed the web page is served and if you are if you are whether we're up with a web application that needs to do a lot of processing you are just listing the load of the web server or a part of the load of the web server and handing it to engine X so of course this provides more acceleration the third reason here why you should be using index is load balancing a load balancer is a device or a service that distributes traffic load on two or more web servers now if you have an environment that has lots of hits per day like thousands of yes per day you may decide that one web server is not enough for serving that amount of visitors you need to buy another web server in order to share part of the load of the first one however if you buy another web server how are the requests coming to be routed from to this one and that one in a load balancing matter that is the job or the tasks of a load balancer Ella balance or maybe a hard world or banner or a software web answer and Indian X excels also in this task it can work as a lot balancer to route the traffic to different web servers at the backend in a matter or in an algorithm that will ensure the maximum performance and will be for their web servers are taking their fair share of traffic so that no lagging occurs the fourth reason is scalable concurrent connection handling traditional web servers like Apache and IRS can serve incoming requests without a problem until the number of concurrent requests reaches a certain lid like for example 1,000 hits and what I say conferral connections I means the number of connections that are actively using the server at the same time so the number here the number 1000 here does not refer to the number of hits that this server is taking per day rather it is referring to the number of connections that are all using the server resources at the same time this means that I have 1,000 visitors all visiting this very same web server at the very same time at the very same second whenever this number rises performance starts to degrade that's because the way those servers were designed and the model by which they serve web requests unfortunately increasing the install the installed CPU cores and RAM will not give you the intended results so if four gigabytes of RAM or decision to serve 1,000 concurrent connections or concurrent requests if you double this number to 8 gigabytes that will not enable the server to handle two thousand connections at the same time and that is where nginx comes in agent X does not suffer from this problem and it can easily handle increasing number of concurrent requests without a problem and without you having to increase the hardware you have currently installed the next thing is the ability to operate a relatively cheap parlor yes in turn X can be deployed on servers with very limited hardware capabilities and still perform much better than its counterparts on the same hardware next is on supply upgrades in turn X is one of the very few systems that can be Patchett or upgraded without having to take a downtime and disrupt your business well personally I would use engine X for my environment just for that reason imagine now that you have an environment where lots of users are using your web application or your website and suddenly you want to patch the server or upgraded and when you have up server serving visitors from from around the world you cannot just take down the server for maintenance any time of the day you are raking 24 by 7 seven days a week there is no less busy time the whole day is visited whole 24 hours are busy and you cannot just take down the web server for any reason like maintenance patching or upgrading this will toast your money internet solves this problem for you by allowing you to make any necessary patches or graves without disrupting your service engine X will just continue working when you patch it while you are back you get or upgrading it II will not lose a single second of business and lasting is easier installation and maintenance as we move on you'll find that in turn X is relatively easier than you think when it comes to basic and even advanced it usage now in the coming lecture we are going to see what can in turn X do for me we are going to see what are the points of strength of engine X and you are going to appreciate all the things that you are going to be able to do when you are finished learning about Internet so see you next so long everyone welcome back this is in your lecture in your course engine X from zero to hero my idiotic smile name is Ahmed and in this lecture we are going to start seeing what can neck's do for me why you are learning internet in the previous lecture we have seen several things that Internet's are good for and several things why people are choosing internets over other web servers in the market intersection let's start by seeing the power of internets if you think it's just a web server that proves to be more powerful than other counterparts in the market you are under estimating it it can work alongside other web servers like apache we have already mentioned that in a previous lecture it can work as a reverse proxy and we have already discussed what a reverse proxy is it's a service that stands between the client and the web server it receives the request from the client and sends it on its behalf to the web server behind it and when the response is received from the web server it related back to the requesting client reverse proxies are used for performance and security reasons every feature in Internet can be activated or deactivated by using modules the module is just a fancy name for a service that in turn X can provide or feature that in turn X can provide this makes it easier for the administrator to work with the required functionality only without having to install any unnecessary functionalities or features that will take on more CPU or RAM or even pose a security risk engine X uses the ax synchronous way of serving requests so in a traditional web server like iis or apache and your threat is created for every request received a threat is just i think of it like a worker that the processor uses for serving poor for working with requests when a processor needs to work with requests it must create something called a thread for each process the process will be using this thread until it finishes and when experiment is finished this thread is available again for other processes to use so as long as the process is using a thread on the processor no other process can access this spread until this process is finished that's why modern processors use something called multi-threading functionality or multi-threading technology where a single processor or single core in a processor can have more than one thread at the same time serving more than one process at the same time so when I is our Apache or other web servers receives requests for clients visiting your website and your process is created for every visitor and that is why we are suffering from the problem of concurrent connections so one 1000 visitors or more or visiting a webpage at the same time or a web server at the same time and you have 1,000 processes dedicated for those 1,000 visitors if you have another visitor like 1,001 this visitor will have to wait until one of the other visitors or until one of the other processes has finished and then and only then this Kaiser can have the service or can visit the web page of course this doesn't happen like a queue the visitor will not just stand in a queue waiting for the process to finish he will receive a web page but it will start loading slowly he will start facing difficulty browsing the website it will start feeling that the website is lagging and it is performing slowly that is not the case in India next there is only one thread but it is based on something called events we are going to discuss this a little more later when we discuss the details of Internet's working however you have to understand for now that an events based processing is much much faster than using a single process for every request it does not suffer from the concurrent connections problem and it can help as much connections as the hardware can take it also allows you to serve many protocols or just HTTP and HTTPS you can use engine X to serve IMAP of 3 and SMTP protocols or mail it also supports latest single clicks WebSocket protocol and using SSL or secure Sockets Layer and extra overhead is required by the web server to decrypt or encrypt the content it receives and sense within your next acting as a reverse proxy you can upload this SSL work to be done engine X the back-end web server no longer has to work with SSL encrypted data as reverse proxy will do that now let's have a little more explanation of this point when you use HTTP and of course you should be using HTTPS whenever you are serving sensitive content on your website like for example credit card information or health information or if you are hosting a ecommerce site or for any other reason that the information on your website is so sensitive secure that it cannot be served on normal HTTP in that case using HTTP will incur a little overhead on the server on a processor because now the data is encrypted so in order for that web server to be able to work with bits with this data it has to decrypt it first before being able to use it and when it sends back the data to the client it has to be encrypted again so that it travels through the network medium in an encrypted manner at all times so this overhead can be eliminated by installing in the next not as a web server but rather as a reverse proxy as we have discussed previously a reverse proxy is just a device or a service that sits outside your web server or an or or in front of the web server it handles the SSL request in decrypt this data and it sends it to the web server in an unencrypted manner then the web server works on this data as if it has been received from an unencrypted source and of course it does not have to decrypt it because it is already in an unencrypted form it does the processing and then sends back the unencrypted data to the to the nginx reverse proxy it Rhian crypts it and it sends it back to a client so as you can see here we have lifted part of the work that had to be done by the web server we have lifted it to the reverse proxy of course this will enhance performance gain and in your next excels when it comes to serving large files or streaming media as mentioned other web servers create a thread for each request what if the request was to serve a one hour long video that will load a several gigabytes long file that will certainly block the thread until the download or the stream is complete several thousand similar requests are enough to make further requests wait in the queue and of course this will make the web server suffer from lagging and performance problems but with in turn X and because if and because of its a synchronous nature this is never a problem as we are going to see later in this course now let's have a look at the historical question that many people have been asking since maybe since the introduction of Internet's to the world which is which has better Internet's or attaching and I have chosen actually because it is one of the most popular web servers around the world is powering a large portion of the busiest websites of the internet so once we have internet once we learn in your next search should we switch completely do in your neck should we just drop a battery should we just completely rebuild our infrastructure using Internet as a web server instead of a battery and this slide is the answer to this question a common misconception is that internet and Apache are totally interchangeable and that in your next is just enhanced with web servers so once you learn it you should drop it actually at start using internets instead this couldn't be more wrong most of the time you will see in your next working side-by-side with Apache sometimes we have to use internet solely in areas where all the index can operate what we have discussed previously we are serving large files or when you want to use it as a reverse proxy or for other users that we have discussed and some other times you will have to use a backseat it all depends on the type of project you are working on and what you are trying to accomplish in this part we had a quick look at the technical and historical differences that we interacts and Apache and back.you was developed in the mid-90s and it's still having a larger market share compared to other web servers index was introduced as we have said in early 2000 and since 2008 it's credibly taking away the market share from Apache so it's growing it's taking a lot of clients and a lot of users on Apache but still Apache has larger larger market share of all other web servers actually create a separate trial process for each request each process uses a blocking thread that means Apache falls short in performance when it comes to serving a considerably huge number of concurrent connections easier next on the other hand avoids this problem by creating multiple run blocking worker threads each is able to serve thousands of concurrent connections because of the way engine X is designed it requires fewer hardware resources and Apache however Apache is more popular operating systems than Internet's for example all Linux flavors have Apache available in their official repositories and think of a repository command if you haven't wasted that before it's just like the software packages directly like roughly like Microsoft Market or Apple Store not is for Linux on the other hand and while it is easy to download and install nginx still requires some tweaking on the other side before it can be installed using package management in all cases of course you can compile the software from source as we are going to see in the next section internets I can act as a load balancer and or a reverse proxy have been multiple Apache web servers in the back em and using one or more internet servers in front of them as a reverse proxy will give you the best of both worlds Apache alone does not have this capability so as you can see here Internet's can complement Apache and actually most of the time and in most successful scenarios Internet's and Apache are used side by side hand by hand in complex environments where actually handles the webserver part and Internet's handles the reverse proxy part and also F actually here long history of supporting dynamic content languages like PHP will be biotin and others in turn x12 does support PHP natively will require some extra effort from website as the administrator to get things working there are subtle differences between both web servers when it comes to configuration apache translates the URL to a file path on the underlying OS for example if you have a look at a website like ee ee ee the example.com slash plants fruits slash apples slash read that HTML this would be interpreted by the web server is requesting a file that is called read that HTML it could be located somewhere on the file system specifically on stash bar slash www slash HTML which is the web root by default for Apache this is where Apache starts searching for files slash plants slash fruits slash apples and if you find a webpage or a file or HTML file that is called read this is how it actually works on the other hand internets does not work like this it parses that you are out in a different way that makes placing an HTM edge T Access file for example in the plants directly it's a the d9 users from out linking image files is totally useless to India next we are going to see in detail these differences when you go on to this course there is a huge difference between both web servers when dealing with modules modules are a way to add extra functionality to the web to the server for example there right module and it actually enables a server to interpret requests like for example double double double that example that comes and shooters klystron though as never level the level of exam comm / index.php Westermarck or put your string users / you can do so using the rewrite module attached he can interpret the first URL here that ends in session Jers / toronto which is sometimes referred to as 20 you are l because it does not have special characters like the question mark it interpreted or it translates it to a URL that is understandable by the web server it does contain query strings it does contain special characters this is a module that can be activated that actually by simply removing or commanding the line that activates this module or that activates this functionality but with internet things are not that easy if you want to enable a module whether it is provided by agent x natively or whether it is a third-party module you will have to recompile engine X from source and don't be intimidated this is not as difficult as it sounds in the next section we are going to see how we can do this in detail so as so as time passes you won't find it that difficult now this brings us to the end of this lecture and at the end of this section in the coming lecture we are going to start actually deploying or installing index on centers and a bundle we are going to use different ways to install nginx we are going to use the precompiled binary scenario where you just download and install the battery from agent exit org and we're going to also have a look at the more complex way of installing it by compiling it from source and the immense control that you have when you compile it from source so until then see you next hello / almost and back this is in your lecture in your course engine X from zero to hero by Ariane X my name is Ahmed and in this section we are actually going to start installing internet on our servers I know that the previous section was all theoretical I'm sorry if you got bored of it in this section I promise you are going to get our hands dirty and we're going to start actually typing commands on our command line and doing lots of fun stuff so let's get started now the first story we have to have a look at the different installation methods that we have at hand in intern X you have to way installation easier to download and install the be compiled binaries or to compile it from source the advantages of using precompiled binaries is that it is very easy to setup just one or two lines of code on the command line as you're going to see and in turn X is installed however sometimes you are obliged to come back to compile in your next from source and those reasons may differ from Israel number but we are going to list the most common although engine X is widely supported and well-known Linux distributions you'll be working on a system where there are no precompiled minor is available quarterly you'll have to compile it from source files and as mentioned in the previous section engine X is modular by design this means that enabling or disabling modules is done by specifying the appropriate command line options in the compiled command as we are going to see in this section both of those methods will be discussed now so let's have a look at common prerequisites for the precompile bards installation and as we said the precompiled binaries installation is as easy as just downloading the package from internet stat org and installing it however before you can do that there are some tools that are not mandatory to be installed if you want to work with Internet but they are recommended that you have because they are going to aid you in lots of your work post installation these are links links is a text-based web browser it will aid you in situations where you want to check whether or not the web server is running through the CLI and yeah and we're going to also have to use they W gate which is a tool to use to download files from the internet using HTTP HTTP or FTP source a download tool maybe you're going to use it to download a newer version of edging X or a module or for some other reason or another and finally them or nano this is the editor that will be used to work with various configuration files through your work with nginx whatever you prefer some people prefer them some others prefer Neto whatever you need just install it and make sure that you have an editor working on your system before starting to work with the UNIX so for this lab I have prepared two machines one of them is Ubuntu based I have done two on exoduses centers I have sent this on one of my machines and the other one is Ubuntu these are the IP addresses of the machines okay and I am going to install the prerequisites on both of them as I'm going to install nginx in both installations in areas both we use and using the pre-compiled batteries and also using compiling from source on bone to N on centers so the first thing we're going to do is that we are going to install the prerequisites I have just mentioned so on CentOS it is yum - when you install and you have it a list of the prerequisites that you need so again you'll still be able to get links and them I personally prefer using them over Nano but of course if you prefer matter you can just replace this with Nano and just hit enter and it is going to download those packages depending on your internet connection it might take a few seconds or a few minutes okay now just have been installed successfully on my CentOS machine it's clear the screen and let's head to my a bunker machine and I'm going to issue the same to man but of course when working with the month to attend to you my god to use apt-get and because I'm working as an uncredited and as an unprivileged user on a bunch of I'm using my own username so I will have to use sudo before using apt-get so if sudo apt-get install again we need links that we get and then that's it enter and enter the username and enter the password okay and it's asking me whether or not I want to install I press yes and I will leave it to download the packages and install them okay now the packages are installed on my system box clear screen and let's start with the first lab in deception which is installing in the next or in Center seven in this lab we are going to use Center seven install a brutal box you can use VMware Player whatever a virtualization platform of your favor you can also use a physical standalone server for this lab and now a loop which will box around virtual box with Oregon Center 7 from centers to org so before starting this lab let's have a look at the infrastructure that I have at hand I have here Center 7 running on VirtualBox this is VirtualBox installed on my Mac ok can download it from builder box or gets an excellent software and it's a free use it allows you to install virtual machines on your own machine instead of having to of course purchase separate servers separates physical servers and of course this will be costly and will be money ficient it allows you to create as you consider any number of virtual machines and with any operating system with virtually all supported operating systems and all current operating systems like Linux and Solaris and Windows and others and you can communicate with those machines through the command line or through GUI depending on your client and of course you can use those machines for testing or for whatever reason you want to our case we're using them to install and work with engine X so here in our centers machine we are going to add a repository accessory for installing intern X and repository in the red hat or the center's world or and also in a bun to where the difference may be with a different way with different naming it offers the same thing which is that they can pair that the system uses to download and install different packages that it needs so in our case we are going to add a repository for engine X to do that we are going to edit or open a new file in /uc slash am that rivers 2d and we're going to give this repository and name of course the most common name that we're going to use this engine extra and it should have this dot repo at the end so you can choose whatever name you need so you might be internet or internet web server or whatever name you desire the most important thing is that it has to end with dot repo at the end let's press ENTER to open a new file and inside it you're going to write this text in your next this is the name of the repository give it a name this is the friendly name that will be appearing in your yum install commands so we're going to give it a name like engine X repository naturally and then we're going to give it the base URL this is the URL that the yum command will use to fetch or to search for new packages and download your packages from there it's HTTP column double slashing and extra org slash packages slash centers / 7 / dollar sign bays Park and base art here if you are not a video with young it means that it is going to download and install the packages that are suitable for your architecture and the architecture is whether your system is running on 32-bit or on 64-bit okay or architecture type okay so this is just to make sure that you download the appropriate packages for your system next thing is that we are going to specify PPD check is false we don't have we're going want it we want to check for the DPD for the GPT key and we are done of course to enabled it to enable it so enabled is one that's all what we need we are going to save this file and then we are going to issue yum - why install engine X and as you can see here in a few seconds it has installed in turn acts on the system if you want to verify that this installation was successful all the or what you have to do is just type engine X like this as you can see here when I press that it gave me in the next egg next - debug this means that I do have now two commands that are available if I type engine X - be small case I will see that it has in the next version in turn X slash one point ten point three it is the latest version of engine X available at the time of this recording for centers systems if I use the uppercase B I'm going to see a little more variable output it will give me the type of compiler that was used to build this version of Internet and also take a look here and the configure arguments that have been used in this installation or in this compilation take a close look at this configure arguments I want you to have a look here I want to edit the post video and keep a close look at this these arguments at these command-line options because we are going to use a similar set of command-line options when we compile internet from source of course you're not going to use all these command-line arguments but we are going to use some of them I just wanted to have a look at them and to try to understand because most of them are self extra extra a tree like for example mine - - prefix equals slash etc' / engine X this is the directory under which the configuration files of engine X will reside the S Pen tells this is the directory where the binary of Internet's will be installed the modules path becomes path and so on and so forth most of the command-line options or the can options are self-explanatory however we are going to go through them or to or through some of them when time is due just make sure that you have a good look at these command line organs before we head on to the next scenario which is installing Internet's on Ubuntu out on our above the system we are going to do a similar thing to what we did on our on our Center server we are going to add a repository but in going to is called F sources just a different naming but they're basically the same functionality and again we're gonna use sudo for this work because this needs to be as a root user so I'm going to edit / ec slash apt slash sources dot list opening it I'll find a large list of sources I'm going to just head to the end of this file and start online and type Deb and then give it the URL of inter next org that is for serving packages or for providing packages for Ubuntu so it's in exit org slash packages slash mainline / urban - and then as the format of this file requires I'm going to tie the next name of this version of Ubuntu it is going to server 16 dot 10 and once you get the name of the package which is in turn X don't you lose it and you have to duplicate this line and just add source or SRC after that like this and that's all what I need to add in connects to my list of app sources on a go to the next thing I have to do is that I need to download the key that will be used for authenticating Ubuntu that will be used for verifying that I have downloaded the correct version or the correct file or engine X installation is just a check for integrated Istanbul you would do so I will need to use delegate and as you can see here I'm using W gate which have installed previously engine x.org / keys / engine X underscore signing dot key okay and now the key has been downloaded successfully I need to install this key using the simple schematic of sudo apt key ad and give it the name of the key that you have just downloaded in your necks underscore signing that key and in a few seconds it's going to be complete and then I'm going to issue sudo apt-get update in order to update my F sources with the newly added intern ex source as you can see here it's adding the packages that are destined that have been found in the Indian X source and now let's clear the screen and issue sudo apt-get install engine X just like that and press yes for this question let it download internets from its apt source now the installation has been completed let's clear the screen and as usual to verify the installation we are going to issue engine X minus V small will give you the West various information about the Internet's installation if we used minus V capital or in uppercase we're going to see more verbose information about the installation that we did as you can see here we have protein 1.10.10 have the compile time options to configure options that have been used with this version of Ubuntu and again take a close look at these options because we are going to use some of them when we install or compile engine X from source and that will be the topic of our next lecture so see you next a lo of your own welcome back this is in your lecture in your course in your next from zero to hero bionics my name is Ahmed and in this section we are experiencing the different methods or scenarios where you can install in your next on your local system in the previous lecture we have seen how we can use the binary precompiled message of installation on both the ubuntu and the center's offering systems once the installation is complete let's have a look at the files and directories that got created as a result of this installation as we can see the slash EDC slash intern X which campaign the configuration files let's have a look at them so whether you are in a broom - or incentives is not matter because both of them have the same directory for engine X configuration as you can see if you have an analyst - l4 / EDC session execs you will have here a look at all the configuration files that the installation has placed in this territory the internet account is the main configuration file this is the one that we will be using to configure various directives and options on features of engine X we have also other files located in this directory and they are all used for various configuration options of engine X the binary that starts the demon or the binary that is used to start the process itself is located under CSR / spin and of course it is called engine X and in order to use this binary you must be logged in as root so in order to start or stop in your next you will need to be root user or you will need to use the sudo command in order to be able to work with this file and the web that I create that nginx uses to serve HTML files directory that is counterpart in Apache is slash four slash www slash HTML in engine X is located under slash USR slash slash intern X so you can see here I have a directory called HTML same way as in Apache and I have an index.html this is the default file or the file that contains the welcome message that we are going to see when we visit our internet stage for the first time and that is what we are going to do in a few seconds from now let's just have a look before that at the various log files that are present in there are provided by intern X they are located in slash var slash log slash intern X and as in Apache we have an access dot log file and an error that log file the access of log file will log all the requests that are made to your log server whether they succeed or they fail and the error log was contain all the errors that have been encountered when serving various web pages and various web resources by engine X now it's time to have a look at the web page or the welcome page or the default page of Internet before we do that we have to first start a service so we need to use sudo service in your next start okay and let's have a look now at the IP address of our machine in order to use it to access this web page it's 1.16 81 and 106 such a look at our browser ok let's close this console and head on to 192.168.1.1 o6 and as you can see here I have the default page for the default welcome page of Internet's appearing on my screen indicating that I have successfully installed Internet on this machine I can also ensure that the similar thing has been done on the sent this one let's clear the screen and again let's issue service in gene X start ok and let's have a look at the IP address that this server has it has 192.168.1.1 11 let's head on to the browser open a new tab and again 192.168.1.1 11 and ok you have here a problem you can not connect to the web server or to internet on this machine and that is because I have the firewall enabled by default on centers so in order to enable traffic to flow to the web server on port 80 you will have to issue a couple of commands to instruct your firewall that you need to download that you need to accept this traffic so you are going to issue firewall CMD - - permanent - - ad - port equals 80 over TCP or slash TCP press enter and then you're going to issue a firewall I can CMD - - reload in order to put these new rules into action then if you have a look again on the web page and hit try again going to see that you are able to access the web page it is giving you exactly the same message that have been displayed on the Ubuntu web server or able to machine welcome to engine X so this proves that we have successfully installed XCOM both the Abunda machine and the center's machine mallet on our tail on to the next part of this section in which we are going to install nginx using the more complex version or the more advanced version of installation which is compiling it from source now if we do that we need to roll back this installation of course I can do an uninstall or in your next but I prefer to go to VirtualBox and restore the machine to the way it was before I installed engine X this is the more preferred method for me so I'm going to shut on the shutdown both servers first so I'm going to issue power off on the centre's machine and also ask little screen sudo power off on the Ubuntu machine okay now they are both powered off I'll have to go to snapshots and I'm going to revert back to the snapshot where I did not have in your next installed here and here now once done I can start the servers again and if I head back to my command line and log it again to the server here and clear the screen and log back to the CentOS I can see that in turn X is no longer installed either here or here ok it took some time to reply because it's giving me the option to install engine X this is a feature this is a nice feature in the bando when you start the command does not count it automatically searches for the app sources there are the packaged sources that are available in system and it suggests that you could install the package that fulfills the command that you want to run in our case we don't want to install nginx from pre-compose packages we already we already did that in the previous lecture and let's now install it from source now installing from source is a lengthy process it's gonna take some time actually longer than the time it took to install the pre-compiled packages and it also requires few more steps to probably work correctly so let's have a look at those steps in detail now I'm going to use a 1/2 first as the installation machine so in order to install Internet from source so the first thing we're going to do is that we are going to download the source for index from the internet or let's open a new tab and go to in your next org slash p.m. slash download dot HTML and heading there and heading here we have here three types of regions we have the main live version and we have this stable version the K we are going to choose the stable version copy link location head back to the server and using W get they're going to download this file it is a Trotter GZ file a compressed file containing the source files for Internet's going to do the same thing on our CentOS so that we'll get ok that will get us our install because we have restore the machine to its previous state so let's quickly install it clear this screen and again if you double you get that one load for the file ok the file has been downloaded here and it's still downloading here ok the file has finished downloading let's come turrets by issuing tar - xbf command which is uncompressed data or a tree which is art which one compress the file into its uncompressed contents let's head inside in connects and now we can we can start installation but only when we install the prerequisites the prerequisites for installing in your next from source are very simple you need to install the build essentials the build essentials in the bottle is the package that contains the C compilers along other packages that are used in any software building process or any software compilation process which is our case so we need the build essential we also need something called the Pearl compatible regular expressions they are needed by engine X for various scenarios including URL rewriting so we are going to ad lib PC or e3 and live pcr III - dev for development Birkin and also we need to install the OpenSSL library or HTTP serving and the HTTP ndin and the connections or the traffic that is going to flow through the open SSL protocol or the SSL protocol let's also install the open lip SSL - then okay so those are the prerequisites for installing or compiling Internet's from source on Ubuntu and actually the same prerequisites for that will be installed on centers with the exception of the build essential package because consensus it's called the development pools but the other things are basically the same we'll need to install also the pcre or the Perl compatible regular expressions and also open SSL what with its development package on centers now let's press yes and let's leave them to install and in order to save time and while they are installing we can have a look at the Centers we are going to do with the same thing your - Y group install development tools this is the equivalent of build essential in ubuntu so let's press enter and it is going to install a list of packages all of those or most of them are will be used in the installation process of engine X and they will be useful if you want to compile any other software from source they contain a lot of useful development packages let's head back to a bun - and it has completed the installation so now we are ready to start installing from source and that will be the topic of our next sector so see you next hello everyone welcome back this is a new lecture in your course engine X from zero to hero by Eddie onyx my name is Ahmed and in this section we are discussing various options and various scenarios by which you can install engine X on your local machine in the previous lectures we have seen how we can install the UNIX from the P compile packages both on centers based if Gators or servers or an a-bomb - or DBM based computers and in the previous lecture we have started examining the manual way of installing index which is compile and get from source we have already installed the prerequisites that are needed for this operation to work successfully now before we start actually compiling from source let's have a quick look at what the operation entails in Internet's compilation the dot configure command is the one with the most concern combined with several command line options you can enable or disable modules and you can also change a lot of the default behavior of the server for example in connects by default uses a user code in turn X with a group with a group of the same name so the user is in turn X in the group is in turn X and that is the owner of the daemon now when the demon stores and again we said that a demon is a fancy name for a service that works in the background so internets when it works in the background is called a demon and this demon to start working it must be owned by a least privileged user in other words you cannot use root user or you cannot use the administrator to be the owner of this crosses because this will post a potentially very high risk of being attacked by hackers and being and having your server compromised so in order to be in the safe side you will have to use an unprivileged user to own this process this one privileged user by default is called attacks with a group of Internet's so the automatic way installing in your next has already created this group for you it has created a user called engine X and a group called in your next and by default it assigned this user to be the owner of the Internet's process but when you use the compilation mode or when you manually install engine X you will have to manually specify that user or you can leave it at the default if you want to if you want to override the default behavior you can use for example - - user equals what's a worker and - - group equals let's say worker as well but of course this user in order to be used it has to be created first on the system so you can adjust instruct configure to use this user and this group without them being actually created on the system failing to do so will give you an error when you try to start X with that option after it has course finished compiling for a list of different command-line options that can be used within turn X you can have a look at the official page which is which is in turn exit org slash en stash stocks slash configure at HTML this is the page and it has a lot of information about different uses let's zoom in and have a look like for example you have already discussed the prefix we have quickly had a look at it the prefix is the directory which was key the server files or a configuration files con which is the most important one of course which is in your next comp and this is the S bin slash path and this is the S Pen - path which is the path under which the binary will be located by default it's in slash USR slash bin in addition to other important parameters most of them can be left at the default without any changes some of them can be changed as you can see here you can enable and of course and also this evil modules so as you can see here this option with polynomial will enable the pro module and if you want to disable for example the HTTP gzip module which is the module that allows those servers to work with compressed data using gzip if you want to disable this module for some reason or another you can just use - hyphen without hyphen HTTP address corgis 800 score model and it will disable this module during this compilation process and as we have discussed in a previous lecture in this course this abling unneeded modules is a best practice both for security from the security perspective and from performance perspective if you have a lot of unneeded modules already installed with the binary you are risking that you can be attacked but it can be attached to one of these modules and since you don't use them it should not have been enabled in the first place and also it may take the processor a lot of more cycles to process a binary that contains unnecessary modules then to processor battery that contains only there but only the modules that are needed to serve the specific needs of the server so in all cases will have to pay a close attention to the planning process before you compile and install Internet's from source you'll have to have a look at those options or if you want to you can just type dot slash configure inside of course the next compound compress directly in the next year it has been uncompressed in the previous lecture to this directory in your next - 1.1 dot n 3 if you issue dot slash configure - - help and press ENTER you can see that it has all the various options that can be used with that configure of course it has not it of course it does not have the complete order or the verbis explanation of each and every option here however it may serve as a quick reference for you in case you have forgotten how a module can be enabled or disabled and so on and so forth ok Internet's also supports any modules from third-party vendors and what I mean and when I say third-party vendors I mean that those modules were produced by some other developers then the team of internet developers they are not produced by Internet and they are produced by third party themes or vendors if you downloaded one of those modules you can install it you can instruct Internet's to use it or to add it to the binary using also the does configure command-line options as you can see here you can just add - - and - module equal then you pass in the path to the module file now imagine you now download the file and placed it in some power flag for example slash temp on your system using - - aunt - module and passing in the path to this module which is slash temp as we have discussed will ensure that this module is included in the binary that finally it gets installed or it finally gets compiled when you issue the make and make install command as you can see shortly now so the first thing we're going to do before we start issuing this command over start invoking the - configure is that we need to add a user and a group to our system this user must be an unprivileged user it has to be as some people call it a system account or a service account a service account is an account that is not normally used for logging purposes so you should not use this account to log into the system even to work with Internet's if you want to work with index you have to login with the root account or using the sudo command you can give your account whatever privileges it needs to work with EDX whoever is you in your necks should not be used for anything other than owning the process that Internet's uses so let's clear the screen you're here on a bun to analyst issue pseudo group ad - or index and so do use your ad - or genetics and - G gene X okay I'll take this stamp the status and sync the syntax here is wrong it's - or X 5 and R - G engine X and intern X okay now we have a user if we type ID into next we're going to see that we have a user with this UID 9:00 on 8 it is called in your next and it has a primary group of in connects this is the user that is going to own the service or demon or a process of Internet's now with everything in place let's issue the configure command so it is configured - - prefix equals /e DC / GX - - user equals inter next it is the user that we have just created - - group equals intern X - hyphen s bin - path equals slash USR slash bin slash Gen X - - Tom - path equals / EG c / engine x / engine XCOM - life in PID - path equals /r r / 1 / engine X dot VI D and if you're wondering the PID file is just a file a regular file that just informs that process or a demon whether or not it is running because for a demon to ensure that only one instance of it is running it has to ensure that he previous instance is already running when it's trying to instructs the first time it creates this file but PID in some not in some known location for a demon and when other process and when the process exits cleanly it deletes this file so if the process is already running and it created this file and another process or a lot of instance of the process is trying to start it will check for directly for the presence of the dog PID file and it is present it will just for the user that no multiple instances of this demon can start it's just a way to ensure that only one instance of the process is running and Indian X needs to know the location at which it's going to save this bie file in our case it's slash var slash log slash in your next of PID now the timing is - - lock - curve equals slash var slash log slash engine X plot lock - - error log this is the error log path location the location of the log file what is called error log it will be stored in slash var slash log slash engine X slash error but log course all of these settings can be changed that is the very reason why we are using that configure to compile from source any of those can be changed but it is highly recommended to leave them at the defaults unless you have a very strong reason for which you want to change them but for a fix of consistency it they should be they should stay at the default next - - HTTP - log - pack this is the access log which as we said locks all the requests that the web server receives slash var slash log slash Indian X slash access but log and now we will enable and disable various modules starting with the word with - - width and - then the name of the module so we need HTTP underscores if your score static which as we said it is going to enable the server to handle the gzipped content so we need that to be there - - with - HTTP stub your score status underscore module and this is a model that enables you to view the status of the demon from a web page with - - with HTTP or score SS al birth score module and this is the module that enables Internet's to work with HTTPS and the SSL protocol with PCR II remember the proto compatible regular expressions that we have installed in the previous lecture in order to enable various regular expression related features in index like the URL white with file a IO which is which enables a synchronous file access with HTTP underscore real IP verse core module and then let's disable for example so it's - - without the HTTP proxy module which enables Internet's to work at a reverse proxy and this is an excellent example of why you should be disabling things that you don't need if you don't need nginx to work as a reverse proxy if you're going to use it just for web server you should is evil the HTTP proxy module again this is for security reasons as well as for performance reasons now why the body should contain the instructions and code that enables engine extract as a reverse proxy while running although you don't need it this will cause you pressure cycles of the CPU and of course more memory that is needed so if you don't want to use engine X and the reverse proxy just use this command line option or configure option - - without - HTTP underscore proxy address core module and you're good to go now if everything is ok this command will be prepared directly to install and to compile and to install nginx from source if anything is wrong with this command it will give me a warning so that I can correct any typos and mistakes let's press ENTER ok and it does have an error here with HTTP real IP module KNF forgot to and - - so there is a problem press ENTER again and Porsche Lee there is nothing else wrong it will just do some checks on the various components that needs to be installed before you can install nginx and finish you can just now type mate and and make install to compile and install nginx from source socata take a few seconds okay and it's giving me an error because I forgot to use sudo so I should use sudo ok now let's clear your screen if you in turn X in order to ensure that we have successful installation in turn X - B will give me the correct version entered X slash one 10.3 and now let's have a look at in turn X - B capital or be in all caps as you can see here I have a different message than the one that appeared in when I use the same command with the precompiled binary purchase as you can see here it's kill me the configure arguments these are the arguments that have been used when I compile the system with are the arguments that were used with the configure argument or with the configure command as you can see these are the exact command line options that we used when we compile the program compare this to the previous output of engine X - V in capital when we use the pre compiled version and you're going to see that this output is much longer that's why I told you when we issued that demand with the pre compiled version to have a close look at the output of this command because it's going to give you a different version of output than the one that we are going to see at or the one that we are currently seeing with the compiled version that is because we come politics from source the other one was precompiled the engine x team has composite for us and it provided the binary file or a very installer that will just copy the binary into its appropriate location it ok now let's do this very same thing on our our our centres machine we cannot take just a copy of this command and that is the beauty of compiling from source which is that you don't have to make anything different we just copied the same configured command can be used now let's store - CF the intern X file let's head inside the files here screen and issue the configure of course we are running his air as root so we don't have that problem we encounter in a Bunter when we have to use sudo we should make a mega install okay and once we enter the file let's install the intercessory prerequisites as we it will want to open SSL open SSL - the bill also we need the pcre library and pcre develop let's all what we need let's leave it to install quickly okay now just install the screw the screen and let's issue the configure command okay let's clear the screen and if you made followed by make install in order to actually install nginx on to our centers machine ok now let's clear the screen and again issue in your next - V it will give us the version the next - V capital will give us the very same output that we saw on the run - it is giving us the configure arguments to be used in the compilation process of the demon order server now let's issue service engine X start okay let's head back to our home to server and because that's compiled Internet's from source there is no service wrapper for the demon we just have to use the normal way or the wrong way of its target just gonna head to the binary and just execute sudo us our Espeon in turn X and we're going to do the same thing on CentOS I didn't mention that I have already done the same methods I have already follow the same steps that I have called on a window I have created the user that is called index with a group let us coordinate X here and center before I continued now let's go to user s p.m. connects and press ENTER this will start a minion and I have also added the necessary follow rules in order to enable port 80 to be open for this service and let's head to the browser and see whether or not internet is working okay let's open a new tab and issue 191 6 8.1 to 106 okay that's welcome to nginx you know the other server was at 111 as well it's going to be the Welcome page to Internet's that proves that Internet stole successfully on both servers and that brings us to the end of this lecture and to the end of this section of internets from zero to hero Baryonyx my name is ahead I hope you enjoyed this section and see you next thank you
Info
Channel: Eduonix Learning Solutions
Views: 188,782
Rating: undefined out of 5
Keywords: nginx tutorial, learn nginx, nginx reverse proxy, nginx web server tutorial, how to install nginx, nginx course, how to learn nginx, nginx for beginners, nginx web server configuration, nginx training, Eduonix
Id: XhgUClE5uC0
Channel Id: undefined
Length: 82min 52sec (4972 seconds)
Published: Fri Apr 14 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.