简单谈谈Nginx基础知识入门
发布时间 - 2026-01-11 02:45:58 点击率:次Nginx 是一个高性能的 HTTP 和反向代理服务器,以高稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

Nginx 特点 处理静态文件,索引文件以及自动索引;打开文件描述符缓冲. 无缓存的反向代理加速,简单的负载均衡和容错. FastCGI,简单的负载均衡和容错. 模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCGI 或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。 支持 SSL 和 TLSSNI. 主要应用场合 1、静态 HTTP 服务器
首先,Nginx是一个 HTTP 服务器,可以将服务器上的静态文件(如 HTML、图片)通过 HTTP 协议展现给客户端。
配置:
server {
listen 80; # 端口号
location / {
root /usr/share/nginx/html; # 静态文件路径
}
}
2、反向代理服务器
什么是反向代理?
客户端本来可以直接通过 HTTP 协议访问某网站应用服务器,如果网站管理员在中间加上一个 Nginx,客户端请求Nginx,Nginx 请求应用服务器,然后将结果返回给客户端,此时 Nginx 就是反向代理服务器。
配置:
server {
listen 80;
location / {
proxy_pass http://192.168.20.1:8080; # 应用服务器HTTP地址
}
}
既然服务器可以直接 HTTP 访问,为什么要在中间加上一个反向代理,不是多此一举吗?反向代理有什么作用?继续往下看,下面的负载均衡、虚拟主机,都基于反向代理实现,当然反向代理的功能也不仅仅是这些。
3、负载均衡
当网站访问量非常大,网站站长开心赚钱的同时,也摊上事儿了。因为网站越来越慢,一台服务器已经不够用了。于是将相同的应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。
当我们网站进行大的升级更新时,我们不可能直接将所有的服务器都关掉,然后再升级的。通常我们都是批量的关掉一些服务器,去升级网站,当有用户的请求时则分配给其他还在运作的机器处理。当之前关掉的机器更新完成后,再次开启,然后又批量关掉部分机器,如上循环,直到最后全部机器都更新完成。这样就不会影响用户使用。
Nginx 可以通过反向代理来实现负载均衡。
配置:
upstream myapp {
server 192.168.20.1:8080; # 应用服务器1
server 192.168.20.2:8080; # 应用服务器2
}
server {
listen 80;
location / {
proxy_pass http://myapp;
}
}
4、虚拟主机
网站访问量大,需要负载均衡。然而并不是所有网站都如此出色,有的网站,由于访问量太小,需要节省成本,将多个网站部署在同一台服务器上。
例如将 www.aaa.com 和 www.bbb.com 两个网站部署在同一台服务器上,两个域名解析到同一个 IP 地址,但是用户通过两个域名却可以打开两个完全不同的网站,互相不影响,就像访问两个服务器一样,所以叫两个虚拟主机。
配置:
server {
listen 80 default_server;
server_name _;
return 444; # 过滤其他域名的请求,返回444状态码
}
server {
listen 80;
server_name www.aaa.com; # www.aaa.com域名
location / {
proxy_pass http://localhost:8080; # 对应端口号8080
}
}
server {
listen 80;
server_name www.bbb.com; # www.bbb.com域名
location / {
proxy_pass http://localhost:8081; # 对应端口号8081
}
}
在服务器 8080 和 8081 两个端口分别开了一个应用,客户端通过不同的域名访问,根据 server_name 可以反向代理到对应的应用服务器。
虚拟主机的原理是通过 HTTP 请求头中的 Host 是否匹配 server_name 来实现的,有兴趣的同学可以研究一下 HTTP 协议。
另外,server_name 配置还可以过滤有人恶意将某些域名指向你的主机服务器。
5、FastCGI
Nginx 本身不支持 PHP 等语言,但是它可以通过 FastCGI 来将请求扔给某些语言或框架处理(例如 PHP、Python、Perl)。
server {
listen 80;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /PHP文件路径$fastcgi_script_name; # PHP文件路径
fastcgi_pass 127.0.0.1:9000; # PHP-FPM地址和端口号
# 另一种方式:fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
配置中将 .php 结尾的请求通过 FashCGI 交给 PHP-FPM 处理,PHP-FPM 是 PHP 的一个 FastCGI 管理器。有关FashCGI 可以查阅其他资料,本文不再介绍。
fastcgi_pass 和 proxy_pass 有什么区别?下面一张图带你看明白:
# nginx
# 配置
# conf
# server
# Nginx基础学习之realip模块的使用方法
# Nginx层面配置基础用户验证的完整步骤
# Nginx基础入门之gzip配置指南
# Nginx服务器基础的安全配置与一些安全使用提示
# nginx基础配置说明一则
# 学习nginx基础知识
# 负载均衡
# 客户端
# 代理服务器
# 虚拟主机
# 端口号
# 是一个
# 器上
# 多个
# 一台
# 可以直接
# 来实现
# 多台
# 都是
# 有什么
# 也不
# 网站访问量
# 不可能
# 就像
# 还可以
# 还在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
利用vue写todolist单页应用
如何在IIS中新建站点并解决端口绑定冲突?
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
Laravel如何配置和使用缓存?(Redis代码示例)
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
,怎么在广州志愿者网站注册?
EditPlus中的正则表达式 实战(2)
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
微信小程序 配置文件详细介绍
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
如何在自有机房高效搭建专业网站?
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
北京的网站制作公司有哪些,哪个视频网站最好?
如何用腾讯建站主机快速创建免费网站?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
魔方云NAT建站如何实现端口转发?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
网站制作报价单模板图片,小松挖机官方网站报价?
做企业网站制作流程,企业网站制作基本流程有哪些?
如何确保FTP站点访问权限与数据传输安全?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
如何快速搭建高效WAP手机网站?
油猴 教程,油猴搜脚本为什么会网页无法显示?
js实现获取鼠标当前的位置
html5的keygen标签为什么废弃_替代方案说明【解答】
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
中山网站制作网页,中山新生登记系统登记流程?
如何为不同团队 ID 动态生成多个独立按钮
网站制作价目表怎么做,珍爱网婚介费用多少?
如何快速完成中国万网建站详细流程?
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
如何在Windows虚拟主机上快速搭建网站?
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
Swift中swift中的switch 语句
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
三星、SK海力士获美批准:可向中国出口芯片制造设备
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
如何在万网主机上快速搭建网站?
如何基于PHP生成高效IDC网络公司建站源码?
如何在阿里云购买域名并搭建网站?
香港服务器部署网站为何提示未备案?
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】

