`

Nginx基础

 
阅读更多

Nginx基本功能极速入门

发表于 2015-05-17

文章目录
  1. 1. 1、静态HTTP服务器
  2. 2. 2、反向代理服务器
  3. 3. 3、负载均衡
  4. 4. 4、虚拟主机
  5. 5. 5、FastCGI

本文主要介绍一些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、负载均衡

当网站访问量非常大,网站站长开心赚钱的同时,也摊上事儿了。因为网站越来越慢,一台服务器已经不够用了。于是将相同的应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。

Nginx可以通过反向代理来实现负载均衡。
负载均衡负载均衡
配置:

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基础和优化配置.rar

    **Nginx基础和优化配置** Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于网站的负载均衡和内容分发。它以其轻量级、高并发处理能力以及丰富的模块化设计而闻名。以下是对Nginx的基础知识和优化配置的详细...

    nginx 基础,pdf

    Nginx 基础知识 Nginx 是一款流行的开源 Web 服务器软件,主要提供 HTTP 服务、反向代理负载均衡服务、动静分离服务和基于 Lua 脚本编写脚本程序提供缓存服务。下面是 Nginx 的基础知识点: 一、Nginx 简介 * ...

    nginx基础配置.rar

    **Nginx基础配置详解** Nginx,一个高性能、轻量级的Web服务器和反向代理服务器,因其高效稳定和灵活的配置而备受青睐。本教程将带你深入理解Nginx的基础配置,通过实际操作让你轻松掌握配置技巧。 ### 1. Nginx...

    应用—nginx基础部署详解

    **Nginx基础部署详解** 在本文中,我们将深入探讨如何在Linux环境下,特别是CentOS 6.4 x86_64系统上,安装和配置Nginx Web服务器。Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力而闻名。...

    django基础语法+mvc+ORM+nginx基础

    Django 基础语法、MVC、ORM、Nginx 基础 Django 是一个基于 Python 的免费开源的 Web 应用框架,使用了 MVC(Model-View-Controller)架构模式。下面是 Django 的基础语法、MVC、ORM 和 Nginx 基础知识点: Django...

    Nginx基础教程.pdf

    ### Nginx基础教程知识点详解 #### Nginx简介 Nginx是一款高效能的HTTP服务器及反向代理服务器,并且支持IMAP/POP3/SMTP等协议的代理服务器功能。它以其出色的性能表现、高度稳定性、丰富的特性集合、简便的配置...

    nginx入门第一讲.nginx基础.docx

    **Nginx基础详解** Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力而闻名。在本文中,我们将深入探讨Nginx的基础配置及功能,包括常用命令、配置文件结构及其各部分的含义。 **一、Nginx...

    nginx基础知识资料

    **Nginx基础教程** Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于互联网,以其高效、轻量级和稳定的特点深受开发者喜爱。它主要用于处理静态文件、反向代理、负载均衡以及缓存等功能。 ### 1. Nginx安装与...

    nginx基础知识.pdf

    Nginx 基础知识 Nginx 是一个俄罗斯人编写的轻量级的 HTTP 服务器,发音为“engine X”,是高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 因为它的稳定性、丰富的模块库、灵活的...

    nginx 基础

    **Nginx基础** Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于Web服务领域,以其轻量级、高并发、低内存消耗而著称。本篇将深入探讨Nginx的基础知识,包括其安全体系架构以及基础概念。 **一、Nginx架构** ...

    开源软件培训-Nginx基础及其应用场景

    【Nginx基础及其应用场景】 Nginx是一款高性能、高并发的开源Web服务器,它以其优秀的性能、稳定性以及丰富的功能而被广泛应用于互联网行业。在【开源软件培训-Nginx基础及其应用场景】中,我们将深入探讨Nginx的...

    Nginx:Nginx基础架构与工作原理.docx

    Nginx:Nginx基础架构与工作原理.docx

    Nginx 容器配置文件,基于 Nginx 基础进项,安装 vim

    Nginx 基础镜像,为了保持镜像最小,默认软件都没有进行安装,开发时,更新配置文件只能通过脚本进行,操作复杂。本镜像文件在 Nginx 基础镜像的基础上安装了 vim,也可以根据需求安装更多软件。

    Nginx基础架构与工作原理+Nginx安装与配置环境搭建+Nginx核心配置指令详解+Nginx反向代理与负载均衡技术等教程

    Nginx基础架构与工作原理 Nginx安装与配置环境搭建 Nginx核心配置指令详解 Nginx反向代理与负载均衡技术 Nginx缓存机制与优化 Nginx日志管理与分析 Nginx安全防护策略 Nginx与HTTPS配置实践 Nginx限流与防盗链设置 ...

    docker-compose构建nginx基础镜像包

    docker-compose构建nginx基础镜像包

    2.Nginx 基础入门篇.学习笔记整理分享给需要的同学

    2.Nginx 基础入门篇.学习笔记整理分享给需要的同学

    nginx基础介绍

    ### Nginx基础介绍 Nginx是一款广泛使用的高性能HTTP和反向代理Web服务器,同时也是一个IMAP/POP3/SMTP代理服务器。由于其稳定、丰富的功能集、简单的配置方式和较低的内存消耗等特性,Nginx已经成为互联网上许多高...

    nginx基础配置.pdf

    基础

    nginx基础实例培训视频.zip

    01-nginx介绍及编译安装 02-nginx信号量 03-nginx虚拟主机配置 04-nginx日志管理 05-nginx定时任务完成日志切割 06-Location详解之精准匹配 07-Location之正则匹配 08-Location总结图解 09-nginx Rewrite语法详解 10...

    Nginx 基础使用.pdf

    本文将深入探讨Nginx的基础使用,包括其目录结构、基本运行原理、配置与应用场景,以及虚拟主机、反向代理、负载均衡策略等相关知识。 1. **目录结构** Nginx的目录结构主要包括以下几个部分: - `conf`:存储...

Global site tag (gtag.js) - Google Analytics