Nginx

Nginx 是一个高性能的HTTP和反向代理web服务器,可做七层的转发,同时也提供了IMAP/POP3/SMTP服务;

NGINX Init Scripts

Index of /packages/centos/

一、安装

nginx启动脚本
nginx.conf
nginx.conf

# 官方RPM下载地址:http://nginx.org/packages
# Nginx由一个master进程和多个worker进程组成,主进程接收客户端请求,再转交给工作进程处理,从而很好地利用多核心CPU的计算能力;
sed -i '/^[[:space:]]*#/d' nginx.conf

nginx的location、root、alias指令用法和区别

😁😄

nginx短篇(1):安装nginx

二、配置

nginx安装及其配置详细教程
nginx模块及location匹配规则
nginx详细配置
https://www.nginx.cn/doc/

1、如下配置可以分为:http块、server块、location块,location 可以理解成url的一部分,root配置指令的意思是=⇒当前location所对应的文档根目录路径;

2、nginx指定文件路径有两种方式root和alias,指令的使用方法和作用域,root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上,root则是最上层目录的定义,alias则是一个目录别名的定义;

root的处理结果是:root路径+location路径;

alias的处理结果是:使用alias路径替换location路径;

  • 配置进阶1

    [root]
    语法:root path
    默认值:root html
    配置段:http、server、location、if
    
    [alias]
    语法:alias path
    配置段:location
    
    # 如果请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/t/a.html的文件;
    location ^~ /t/ {
        root /www/root/html/;
    }
    
    # 如果请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/new_t/a.html的文件;
    location ^~ /t/ {
        alias /www/root/html/new_t/;
    }
    
  • 配置进阶2

    1. 精确匹配:
       = 用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求 location = /uri;
    location 处理请求,而不再使用 location块中的正则 uri 和请求字符串做匹配;
    2. 正则匹配:
       ~   区分大小写的正则匹配 location ~ pattern;
       !~  区分大小写不匹配的正则 location !~ pattern;
       ~*  不区分大小写的正则匹配 location ~* pattern;
       !~* 不区分大小写不匹配的正则 location !~* partern;
    3. 非正则匹配:
       ^~ 用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location ^~ /uri;
    
    注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识;
    注意:禁止IP直接访问
        server {
            listen 80 default;
            server_name localhost;
            return 403;
        }
    
  • 配置进阶3
    nginx正反向代理配置以及说明

    # 1、正向代理服务器用来让局域网客户机接入外网以访问外网资源
    server {
        resolver 8.8.8.8;
        listen 8080;
        access_log /var/log/nginx/proxy.access.log main;
        error_log /var/log/nginx/proxy.error.log;
        location / {
            proxy_pass http://$http_host$request_uri;    #
        }
    }
    
    # 2、反向代理服务器用来让外网的客户端接入局域网中的站点以访问站点中的资源
    # 当代理的是一组服务器时可以使用 upstream 指令来设置
    server {
        listen 80;
        server_name 192.168.161.189;
        location / {
            proxy_pass http://192.168.161.189:8070;    # 访问192.168.161.189 ==>192.168.161.189:8070
            root html;
            index index.html index.htm;
        }
    }
    # 3、反向代理"/"的说明
      [**参考链接**](https://mp.weixin.qq.com/s/bVNIwc3W_d2cebqxJWDy1w)
      proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;
    如果没有/,表示相对路径,把匹配的路径部分也给代理走;
    
  • 配置进阶4

    五分钟看懂 Nginx 负载均衡 - 知乎 (zhihu.com)
    nginx负载均衡的五种算法_nginx负载均衡算法_皓阳当空的博客-CSDN博客
    Nginx的 负载均衡算法:RR-轮询算法 WRR-加权轮询 随机算法 SH-源地址哈希

  • PHP配置
    typecho.conf
    源码编译更新nginx到最新版本,并开始nginx支持http2协议模块.-阿里云开发者社区
    PHP7中php.ini、php-fpm和www.conf的配置(转)

posted on 2023-04-15 23:39  anyu967  阅读(8)  评论(0编辑  收藏  举报