我的 Nginx 的一些配置

我的 Nginx 的一些配置
耳朵Strive我的 Nginx 的一些配置
在我们开发的过程当中,我们经常会遇到这样的一些问题:
- 前端项目如何部署到服务器?
- 接口跨域怎么解决?
- 一个域名如何同时代理多个后端服务?
- 如何限制某个IP的恶意请求?
这些问题,几乎都绕不开一个工具 —— Nginx。我是一个坚定的 Nginx 爱好者,虽然也接触过 Apache 和 IIS 这些其他的工具,但是最终还是 Nginx 轻量化获得了我的芳心。我会从实际项目出发给大家简单的介绍梳理一下 Nginx 的核心知识点。
一、 什么是 Nginx?
Nginx 是一款高性能的 Web 服务器 / 反向代理服务器,可以用于:
- 托管静态资源
- 反向代理后端服务
- 负载均衡
- 解决跨域问题
几乎所有中大型 Web 项目,生产环境都可以使用 Nginx。
一个典型的 Web 架构是:
1 | 浏览器 |
Nginx 就像一个门卫:
- 接收所有请求
- 决定请求去哪里
- 控制访问规则和性能
二、一个核心概念
正向代理 vs 反向代理
正向代理
- 代理的是客户端
- 比如:VPN
反向代理
- 代理的是服务器
- 客户端并不知道真实后端地址
- 比如:我的博客你访问的是我服务器的 80 / 443 端口,但是实际上我是将 8000 端口代理到 80 和 443 的
我们平常的项目中,99% 用的是反向代理。
三、Nginx 的安装与基础使用
1. 常见安装方式
这里我只展示 Windows 和 Linux 的安装方式,如果使用的是 Mac 的话,可以参考 Linux 的方式,或者网上自行搜索相关教程。
Windows
首先进入点击链接官网: Nginx官网
然后点击 download,之后选择 nginx/Windows ,然后下载之后会有一个压缩包
将文件解压之后,你就会看到 nginx 的目录,然后双击
nginx.exe即可启动 nginx ,然后在浏览器中访问 localhost 出现页面就代表成功了。
Linux
Linux 也是同样的官网,只不过下载的是旁边的版本。
解压包并进入 nginx 文件夹下
1
2tar -zxf nginx-版本.tar.gz # 解压安装包
cd nginx-版本 # 进入文件夹配置 nginx :
./configure编译安装nginx :
make&&make install运行nginx
1
2cd /usr/local/nginx/sbin # 转换到sbin文件夹下
./nginx # 运行nginx查看结果,直接
curl http://localhost:80,如果出现HTML的代码,那就代表 nginx 安装成功了
2. 常用命令
1 | # 启动 |
四、Nginx 配置文件
1. server
1 | server { |
- 一个
server= 一个站点 - 可配置多个 server,实现多域名
2. location
1 | location /api/ { |
=精确匹配^~前缀匹配- 正则
~ - 普通前缀匹配
3. root 和 alias
1 | location /static/ { |
4. 反向代理
1 | location /api/ { |
访问:
1 | http://localhost/api/user |
5. HTTPS/SSL 配置
1 | server { |
五、总结
上面是我的一些常用的配置,当然还有一些负载均衡、日志分析呀这些功能我就不一一介绍了,最后总结一下,Nginx 是我日常开发架构中不可或缺的一个工具。作为反向代理服务器,它比传统服务器更节省资源,能轻松处理高并发。将 Nginx 作为项目部署的前置层,它的配置直观、灵活,从简单的静态站点到复杂的微服务网关,都能胜任。














