超实用的Nginx常见配置合集分享

  

超实用的Nginx常见配置合集分享

1. 静态文件服务

1.1 实现原理

在 Nginx 中配置一个虚拟主机,并将静态文件所在目录的路径配置到该虚拟主机下。当访问该虚拟主机的某个文件时,Nginx 会对该文件进行直接返回。

1.2 实现步骤

  1. 编辑 Nginx 配置文件 /etc/nginx/nginx.conf,在 http{} 节点下添加 server{} 节点:

server {
# 监听 80 端口,可以根据需要更改端口号
listen 80;
# 服务器名称,可以使用域名或IP地址
server_name example.com;
# 静态文件所在目录路径
root /path/to/static/files;
# 静态文件访问路径
location / {
# 使 Nginx 直接返回文件,提高访问速度
try_files $uri =404;
}
}

  1. 保存配置文件并重启 Nginx 服务:

sudo service nginx restart

  1. 测试访问:

curl http://example.com/file.html

2. 反向代理

2.1 实现原理

将客户端的请求转发给内部的另一个网站或服务器处理,并将处理结果返回给客户端。在 Nginx 中配置一个虚拟主机,并将该虚拟主机的地址配置为反向代理服务器的地址,同时将需要代理的站点或服务器的地址配置为该虚拟主机下的一个 location,即可实现反向代理功能。

2.2 实现步骤

  1. 编辑 Nginx 配置文件 /etc/nginx/nginx.conf,在 http{} 节点下添加 server{} 节点:

server {
# 监听 80 端口,可以根据需要更改端口号
listen 80;
# 服务器名称,可以使用域名或IP地址
server_name example.com;
# 反向代理服务器地址和端口号
proxy_pass http://internal.site.com:8080/;
# location 的 URI 与要被代理的网站 URI 相同
location / {
# 生成代理服务器地址的 URL,$uri 为当前请求的 URI
proxy_set_header Host $host;
# 生成代理服务器地址的 URL,$uri 为当前请求的 URI
proxy_set_header X-Real-IP $remote_addr;
# 将客户端地址设置到 “X-Forwarded-For” 头中,方便后端服务器获取客户端 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

  1. 保存配置文件并重启 Nginx 服务:

sudo service nginx restart

  1. 测试访问:

curl http://example.com

相关文章