Nginx常用配置及和基本功能详解
云计算
Nginx常用配置及和基本功能详解
2024-09-22 01:14
Nginx详解:高性能Web服务器与反向代理的配置与功能 Nginx是一款高性能、开源的Web服务器和反向代理服务器,
Nginx详解:高性能Web服务器与反向代理的配置与功能
Nginx是一款高性能、开源的Web服务器和反向代理服务器,因其轻量级、高可靠性和高并发处理能力而备受欢迎。下面将详细介绍Nginx的常用配置和基本功能。

一、静态文件服务
Nginx可以高效地提供静态文件服务,通过配置服务器的根目录,将静态文件直接传输给客户端,提升文件传输速度。
配置示例:
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html index.htm;
}
}
解释:
<span style="color: red;">listen 80;</span>
:监听80端口。<span style="color: red;">server_name example.com;</span>
:定义服务器名称。<span style="color: red;">location /</span>
:匹配所有请求。<span style="color: red;">root /var/www/html;</span>
:指定静态文件的根目录。<span style="color: red;">index index.html index.htm;</span>
:设置默认索引文件。
二、反向代理
Nginx可以作为反向代理服务器,将客户端请求转发给后端的应用服务器,实现负载均衡和请求分发。
配置示例:
upstream backend {
server backend1.example.com weight=5;
server backend2.example.com;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
解释:
<span style="color: red;">upstream backend</span>
:定义一个名为backend
的上游服务器组。<span style="color: red;">server backend1.example.com weight=5;</span>
:添加后端服务器,设置权重为5。<span style="color: red;">proxy_pass http://backend;</span>
:将请求转发给上游服务器组backend
。
三、虚拟主机
Nginx支持配置虚拟主机,在同一台服务器上运行多个网站。
配置示例:
server {
listen 80;
server_name site1.example.com;
location / {
root /var/www/site1;
index index.html;
}
}
server {
listen 80;
server_name site2.example.com;
location / {
root /var/www/site2;
index index.html;
}
}
解释:
- 通过定义多个
<span style="color: red;">server</span>
块,根据不同的<span style="color: red;">server_name</span>
,为不同的域名配置不同的站点。
四、SSL/TLS支持
Nginx可以配置SSL/TLS证书,实现HTTPS安全连接,对传输的数据进行加密。
配置示例:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /var/www/html;
index index.html;
}
}
解释:
<span style="color: red;">listen 443 ssl;</span>
:监听443端口,并启用SSL。<span style="color: red;">ssl_certificate</span>
和<span style="color: red;">ssl_certificate_key</span>
:指定证书和私钥文件路径。<span style="color: red;">ssl_protocols</span>
:启用的TLS协议版本。<span style="color: red;">ssl_ciphers</span>
:配置加密套件。
五、缓存配置
通过配置缓存,Nginx可以提高对静态和动态内容的访问速度。
配置示例:
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
server {
listen 80;
server_name example.com;
location / {
proxy_cache my_cache;
proxy_pass http://backend;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
}
}
解释:
<span style="color: red;">proxy_cache_path</span>
:定义缓存路径和参数。<span style="color: red;">proxy_cache my_cache;</span>
:启用名为my_cache
的缓存区域。<span style="color: red;">proxy_cache_valid</span>
:设置不同HTTP状态码的缓存时间。
六、响应内容压缩
Nginx支持对响应内容进行gzip压缩,减少数据传输量。
配置示例:
gzip on;
gzip_types text/plain application/javascript application/json text/css;
gzip_min_length 1024;
gzip_comp_level 6;
解释:
<span style="color: red;">gzip on;</span>
:启用gzip压缩。<span style="color: red;">gzip_types</span>
:指定需要压缩的MIME类型。<span style="color: red;">gzip_min_length</span>
:设置启用压缩的最小响应长度。<span style="color: red;">gzip_comp_level</span>
:压缩级别,范围1-9。
七、访问控制
Nginx可以通过IP地址等条件进行访问控制,提高网站的安全性。
配置示例:
location /admin/ {
allow 192.168.1.0/24;
deny all;
}
解释:
location /admin/
:针对/admin/
路径。Ubuntu系统上怎么使用SNAP安装Docker 四层协议:TCP/IP详解