什么是Nginx

Nginx是一款轻量级的Web 服务器/反向***服务器及电子邮件(IMAP/POP3)***服务器。
特点是占有内存少,并发能力强。
中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

正向***,反向***,负载均衡

1.正向***

  1. 客户端(浏览器)的***,是正向***。需要使用可在浏览器上配置***。
  2. 例如:客户端想访问一个网站,但是客户端访问不了这个网站,可是客户端却能访问***服务器,***服务器可以帮助客户端访问该网站。客户端先将请求发给***服务器,***服务器再将请求转发给该网站,该网站的响应结果先发给***服务器,然后再由***服务器转发给客户端。

2.反向***

  1. 服务端的***,是反向***,***服务是由服务端提供的,和客户端无关

反向***服务器位于用户与目标服务器之间,但是对于用户而言,反向***服务器就相当于目标服务器,即用户直接访问反向***服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。
好处:①提高了内部服务器的安全 ②可以实现负载均衡

  1. 例如:百度的负载均衡实现
    让***服务器将请求均匀转发给多台内部Web服务器其中之一,从而达到负载均衡的目的。

    如何分配任务:通过负载均衡算法,如:轮询法

3.负载均衡

服务器集群时的压力均衡,将工作任务(负载)进行平衡、分摊到多个服务器进行运行,协同完成工作任务。

Nginx目录结构

Windows版

Linux版

Nginx的简单使用

1.Nginx基本操作

Window下:在cmd里切换到nginx的目录里之后执行命令
1.启动nginx:start nginx
2.重新加载配置文件:nginx -s reload
3.关闭nginx:nginx -s stop

Linux下:进入Nginx的sbin目录之后执行命令
1.启动nginx: ./nginx
2.重新加载配置文件: ./nginx -s reload
3.关闭nginx: ./nginx -s stop

配置文件后都要重新加载配置文件

2.使用Nginx部署静态web项目

准备好静态web项目后,配置nginx.conf

 ...
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   静态web项目的位置,比如:E:\\myItem\\test;
            index  index.html index.htm;
    }
    ...

重新加载配置文件,启动nginx,使用浏览器访问nginx( http://ip地址:80)

3.使用Nginx实现负载均衡

多个服务器部署相同的项目后,修改nginx.conf

	......
	#固定格式
    upstream myservers{
        server ip地址:端口 weight=10;
        server ip地址:端口 weight=5;
        server ip地址:端口 weight=2;
        #weight:权重,越高被访问的机率越大(分配到任务的机率越大)
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        
        location / {
            index  index.html index.htm;
            #固定格式
	    	proxy_pass http://myservers;
        }
    ....

重新加载配置文件,启动nginx,使用浏览器访问nginx( http://ip地址:80)