欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx认识

程序员文章站 2022-03-05 11:38:11
...

一、Nginx安装(win)

  • Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务
  • 下载Nginx解压
    Nginx认识- Nginx命令行操作命令
    启动: start nginx.exe
    停止: nginx.exe -s stop
    重新加载: nginx.exe -s reload 修改了配置文件的时候需要重新加载.
    

二、Nginx配置说明

①基础配置

http {
   ...
 	#服务(主机)
    server {
        listen       86;
        server_name  127.0.0.1;
		
        location / {
            root   hrm-user;
            index  index.html index.htm;
        }
    }

location / 解释:

  • “ / ” 所有的请求
  • root hrm-user; 去 hrm-user目录中找资源
  • index 主页配置

②Nginx虚拟主机配置

  • 修改配置
http {
   ...
   #用户站点
    server {
        listen       86;
        server_name  127.0.0.1;

        location / {
            root   hrm-user;
            index  index.html index.htm;
        }
    }
    #主站点
    server {
        listen       99;
        server_name  127.0.0.1;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   hrm-home;
            index  index.html index.htm;
        }
        ...
  • 重新加载配置文件,访问
127.0.0.1:86
127.0.0.1:99

③配置域名

  • 域名解析步骤
    • 浏览器输入的域名从本地hosts去匹配ip
    • 去DNS服务器解析域名 , 找到对应的ip
    • 使用ip进行访问
  • 配置本地域名,配置Hosts(电脑)
127.0.0.1 www.hrm.com
127.0.0.1 user.hrm.com
  • 修改Nginx配置文件
...
server {
        listen       80;
        server_name  user.hrm.com;

        location / {
            root   hrm-user;
            index  index.html index.htm;
        }
    }
    server {
        listen       80;
        server_name  www.hrm.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   hrm-home;
            index  index.html index.htm;
        }
 ...
 
注意:两个server的端口一样 ,域名不一样
  • 访问域名

三、反向代理

3.1 代理认识

  • 正向代理:意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
  • 反向代理:反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

3.2 Nginx反向代理配置

location / {
  	proxy_pass http://ip:端口;	//zuul的和端口
	index  index.html index.htm;
}

3.3 负载均衡配置

http:{
...
   upstream myservers{
   	   ip_hash;  # ip_hash算法,默认轮询算法
       server 127.0.0.1:1010;
       server 127.0.0.1:1011;
   }
       
   server {
       listen       55;
       server_name  127.0.0.1;

       location / {
    	   proxy_pass http://myservers;
           index  index.html index.htm;
       }
   } 
  • 访问:127.0.0.1:55