nginx配置详解

服务代理配置/api与/api/ 的区别

访问路径都为http://127.0.0.1:82/api/info
location /api/ {
     proxy_pass http://127.0.0.1:82;
}
# 代理后的路径为http://127.0.0.1:82/api/info

location /api/ {
     proxy_pass http://127.0.0.1:82/;
}
# 代理后的路径为http://127.0.0.1:82/info

proxy_pass http://127.0.0.1:82 没有后缀/ 会拼接代理前缀
proxy_pass http://127.0.0.1:82/ 有后缀/ 会舍弃代理前缀


独立的两个应用,同一个端口

  • nginx的安装路径为: /opt/nginx
  • 项目都在html下
  • 项目A名称为: project1
  • 项目B名称为: project2
  • 监听端口都为82,在同一个server下
页面代理配置
location /api {
    root html/project1;
    index  index.html index.htm;
    try_files $uri $uri/ /index.html;
}
# 可以访问路径为: http://127.0.0.1:82/api

location /apa {
    alias html/project2;
    index  index.html index.htm;
    try_files $uri $uri/ /index.html;
}
# 可以访问路径为: http://127.0.0.1:82/apa

一个server模块下,不能有两个location 中 都为root 配置文件夹
但是可以有多个alias,alias 与 root功能相同,都是规定文件夹指向
这里用了一个root 一个 alias

独立的两个应用,不同端口

  • nginx的安装路径为: /opt/nginx
  • 项目都在html下
  • 项目A名称为: project1
  • 项目B名称为: project2
  • 项目A监听端口都为82
  • 项目A监听端口都为83
  • 用两个server模块配置
页面代理配置
     server {
        listen       82;
        server_name  localhost;
        location / {
            root   html/project1;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
     }
     server {
        listen       83;
        server_name  localhost;
        location / {
            root   html/project2;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
    }

由于是不同的server ,所以用root 或者 alias 没有任何区别

子文件夹的两个应用,同一个端口

  • nginx的安装路径为: /opt/nginx
  • 项目A名称为: project1
  • 项目B名称为: project2
  • 监听端口为82
  • 项目A路径为html
  • 项目B路径为html/test1
页面代理配置1
     server {
        listen       82;
        server_name  localhost;
        
        location / {
            root   html;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
        
        location /api {
            root   html/test1;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
     }
页面代理配置2
     server {
        listen       82;
        server_name  localhost;
        
        location / {
            root   html;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
        
        location /api/ {
       		proxy_pass http://127.0.0.1:89/;
        }
     }
  
   
	 server {
	        listen       89;
	        server_name  localhost;
	
	        location / {
	            root   html/test1;
	            index  index.html index.htm;
	            try_files $uri $uri/ /index.html;
	        }
       }
Nginx 是一个高性能的开源 Web 服务器和反向代理服务器。它的配置文件是一个重要的部分,影响着服务器的行为和性能。下面是对 Nginx 配置文件的详细解释: 1. 配置文件位置: Nginx配置文件通常位于 /etc/nginx/nginx.conf。此外,可以通过 include 语句包含其他配置文件,使配置更加模块化。 2. 基本结构: Nginx配置文件由多个指令和块组成。指令是配置文件的最小单位,而块是由一对花括号括起来的指令集合。配置文件从上到下按顺序解析,遇到块会进一步解析块内的指令。 3. 主要指令: - worker_processes:指定 Nginx 创建的进程数。通常设置为 CPU 核心数的倍数。 - events:配置 Nginx 处理连接和请求的事件模型。 - http:定义 HTTP 服务器的全局配置。 - server:定义一个虚拟主机(或称为 server block),可以包含多个 location 块。 - location:根据请求的 URI 匹配规则,定义不同的请求处理方式。 4. 常用配置选项: - listen:指定监听的 IP 地址和端口。 - server_name:指定虚拟主机的域名。 - root:指定网站根目录。 - index:指定默认的索引文件。 - location:根据匹配规则指定不同的处理方式,如代理、重定向、静态文件处理等。 5. 变量和指令: Nginx 支持一些内置变量和指令,用于实现动态的配置和请求处理。常见的变量包括 $uri、$args 和 $http_user_agent,常见的指令包括 if、rewrite 和 return。 6. 配置文件的重载: 在修改配置文件后,可以通过发送信号给 Nginx 进程来重新加载配置,而无需停止服务器。常用的信号有 HUP(重新加载配置)和 TERM(停止服务器)。 这些是 Nginx 配置文件的一些基本概念和常用指令。具体的配置方式和使用方法可以根据实际需求进行深入学习和探索。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寂寞旅行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值