Nginx学习笔记 - 新

跟着 https://www.bilibili.com/video/BV1yS4y1N76R 视频学的
安装教程 nginx环境搭建

通过不同域名相同端口访问不同页面

首先添加hosts,映射下域名到装nginx的主机IP地址,我这里是虚拟机,且没有买域名就自己本地这样玩
Nginx学习笔记 - 新_第1张图片

进入nginx安装目录,打开nginx.conf,添加俩虚拟主机server

	#代表如果是www.sb.com:81访问的,则会访问/usr/local/nginx/www/www/www.html页面
    server {
        listen       81; #监听81端口
        server_name  www.sb.com;#通过域名www.sb.com访问

        location / {
            root	www/www;#开头没斜杠,代表相对路径,即nginx根目录下的www/www目录
           	index	www.html;#index 的作用就是当没有访问任何文件时,则默认访问 index.html
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
    
	#代表如果是sss.sb.com:81访问的,则会访问/usr/local/nginx/www/sss/sss.html页面
    server {
        listen       81;
        server_name  sss.sb.com;

        location / {
            root	www/sss;
            index sss.html;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

配置完重启服务生效:systemctl reload nginx
访问,如果中文乱码按照这个来nginx乱码问题文章解决
Nginx学习笔记 - 新_第2张图片
Nginx学习笔记 - 新_第3张图片

反向代理 - 请求外网或内网主机

使用 proxy_pass 配置

到外网

比如访问nginx的ip:192.168.80.131,会重定向到百度,浏览器地址也会调到百度

location / {
                proxy_pass http://www.baidu.com/; 表示页面重定向到百度
                index  index.html index.htm;
}

到内网其他主机

比如又开了一台nginx,IP是192.168.80.132
我想从192.168.80.131访问到192.168.80.132

    location / {
                proxy_pass http://192.168.80.132;
                index  index.html index.htm;
            }

Nginx学习笔记 - 新_第4张图片

负载均衡

示例

使用upstream + proxy_pass 配置组合,默认轮询配置的几个负载server

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
        
    keepalive_timeout  65;

    upstream myserver{
        server 192.168.80.132;
        server 192.168.80.133;
    }

    server {
        charset utf-8; #解决乱码,多个server每个都要加
        listen       80;
        server_name  localhost;

        location / {
            proxy_pass http://myserver;
            index  index.html index.htm;
        }

    error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

权重

权重数值可以是任意正整数,Nginx会根据给定的权重数值将请求分配给后端服务器

    upstream myserver{
        server 192.168.80.132 weight=2;#2/17概率
        server 192.168.80.133 weight=10;10/17概率
	    server 192.168.80.134 weight=5;5/17概率
    }

动静分离 – 访问静态文件

/usr/webTest下创建static.html文件
配置location

 location /webTest/ {
            root /usr/;
            index  index.html index.htm;
 }

访问 http://192.168.80.131/webTest/static.html
Nginx学习笔记 - 新_第5张图片
解析过程:解析到url中的/webTest/和/webTest/匹配,url中的/webTest/被替换成root的/usr/+location的/webTest/即/usr/webTest/,最后成http://192.168.80.131/usr/webTest/static.html

你可能感兴趣的:(nginx,学习,笔记)