Nginx基本功能极速入门
发表于 2015-05-17
本文主要介绍一些Nginx的最基本功能以及简单配置,但不包括Nginx的安装部署以及实现原理。废话不多,直接开始。
1、静态HTTP服务器
首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。
配置:
1 2 3 4 5 6 |
server { listen 80; # 端口号 location / { root /usr/share/nginx/html; # 静态文件路径 } } |
2、反向代理服务器
什么是反向代理?
客户端本来可以直接通过HTTP协议访问某网站应用服务器,如果网站管理员在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。
配置:
1 2 3 4 5 6 |
server { listen 80; location / { proxy_pass http://192.168.20.1:8080; # 应用服务器HTTP地址 } } |
既然服务器可以直接HTTP访问,为什么要在中间加上一个反向代理,不是多此一举吗?反向代理有什么作用?继续往下看,下面的负载均衡、虚拟主机,都基于反向代理实现,当然反向代理的功能也不仅仅是这些。
3、负载均衡
当网站访问量非常大,网站站长开心赚钱的同时,也摊上事儿了。因为网站越来越慢,一台服务器已经不够用了。于是将相同的应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。
1 2 3 4 5 6 7 8 9 10 |
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地址,但是用户通过两个域名却可以打开两个完全不同的网站,互相不影响,就像访问两个服务器一样,所以叫两个虚拟主机。
配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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)。
1 2 3 4 5 6 7 8 9 |
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; } } |
相关推荐
**Nginx基础和优化配置** Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于网站的负载均衡和内容分发。它以其轻量级、高并发处理能力以及丰富的模块化设计而闻名。以下是对Nginx的基础知识和优化配置的详细...
Nginx 基础知识 Nginx 是一款流行的开源 Web 服务器软件,主要提供 HTTP 服务、反向代理负载均衡服务、动静分离服务和基于 Lua 脚本编写脚本程序提供缓存服务。下面是 Nginx 的基础知识点: 一、Nginx 简介 * ...
**Nginx基础配置详解** Nginx,一个高性能、轻量级的Web服务器和反向代理服务器,因其高效稳定和灵活的配置而备受青睐。本教程将带你深入理解Nginx的基础配置,通过实际操作让你轻松掌握配置技巧。 ### 1. Nginx...
**Nginx基础部署详解** 在本文中,我们将深入探讨如何在Linux环境下,特别是CentOS 6.4 x86_64系统上,安装和配置Nginx Web服务器。Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力而闻名。...
Django 基础语法、MVC、ORM、Nginx 基础 Django 是一个基于 Python 的免费开源的 Web 应用框架,使用了 MVC(Model-View-Controller)架构模式。下面是 Django 的基础语法、MVC、ORM 和 Nginx 基础知识点: Django...
### Nginx基础教程知识点详解 #### Nginx简介 Nginx是一款高效能的HTTP服务器及反向代理服务器,并且支持IMAP/POP3/SMTP等协议的代理服务器功能。它以其出色的性能表现、高度稳定性、丰富的特性集合、简便的配置...
**Nginx基础详解** Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力而闻名。在本文中,我们将深入探讨Nginx的基础配置及功能,包括常用命令、配置文件结构及其各部分的含义。 **一、Nginx...
**Nginx基础教程** Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于互联网,以其高效、轻量级和稳定的特点深受开发者喜爱。它主要用于处理静态文件、反向代理、负载均衡以及缓存等功能。 ### 1. Nginx安装与...
Nginx 基础知识 Nginx 是一个俄罗斯人编写的轻量级的 HTTP 服务器,发音为“engine X”,是高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 因为它的稳定性、丰富的模块库、灵活的...
**Nginx基础** Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于Web服务领域,以其轻量级、高并发、低内存消耗而著称。本篇将深入探讨Nginx的基础知识,包括其安全体系架构以及基础概念。 **一、Nginx架构** ...
【Nginx基础及其应用场景】 Nginx是一款高性能、高并发的开源Web服务器,它以其优秀的性能、稳定性以及丰富的功能而被广泛应用于互联网行业。在【开源软件培训-Nginx基础及其应用场景】中,我们将深入探讨Nginx的...
Nginx:Nginx基础架构与工作原理.docx
Nginx 基础镜像,为了保持镜像最小,默认软件都没有进行安装,开发时,更新配置文件只能通过脚本进行,操作复杂。本镜像文件在 Nginx 基础镜像的基础上安装了 vim,也可以根据需求安装更多软件。
Nginx基础架构与工作原理 Nginx安装与配置环境搭建 Nginx核心配置指令详解 Nginx反向代理与负载均衡技术 Nginx缓存机制与优化 Nginx日志管理与分析 Nginx安全防护策略 Nginx与HTTPS配置实践 Nginx限流与防盗链设置 ...
docker-compose构建nginx基础镜像包
2.Nginx 基础入门篇.学习笔记整理分享给需要的同学
### Nginx基础介绍 Nginx是一款广泛使用的高性能HTTP和反向代理Web服务器,同时也是一个IMAP/POP3/SMTP代理服务器。由于其稳定、丰富的功能集、简单的配置方式和较低的内存消耗等特性,Nginx已经成为互联网上许多高...
基础
01-nginx介绍及编译安装 02-nginx信号量 03-nginx虚拟主机配置 04-nginx日志管理 05-nginx定时任务完成日志切割 06-Location详解之精准匹配 07-Location之正则匹配 08-Location总结图解 09-nginx Rewrite语法详解 10...
本文将深入探讨Nginx的基础使用,包括其目录结构、基本运行原理、配置与应用场景,以及虚拟主机、反向代理、负载均衡策略等相关知识。 1. **目录结构** Nginx的目录结构主要包括以下几个部分: - `conf`:存储...