LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

Nginx 配置文件详解:一看就懂的基础配置

admin
2025年6月28日 19:26 本文热度 27

当我们访问一个网址,会经由 DNS 解析为 IP 地址,这个 IP 地址其实背后是「服务器」,通过这个 IP 就能找到那台服务器。

我们看似使用的是域名访问网站,其实使用的是 IP 地址。
服务器上通常会安装 Nginx,它是一个专门用来处理 Web 请求的软件。用户访问网站时,请求就会先到 Nginx,然后由它把请求转发到项目上。
正常情况下,服务器会开启两个端口:80 和 443。上次说过,80 是不加密的传输方式,不安全;而 443 是加密的,更安全。
所以一般我们会把 80 的请求自动跳转到 443,让用户始终通过安全连接访问网站,详情访问之前的文章HTTP 如何升级成 HTTPS
Nginx 配置解析
Nginx 简单来说就是:接收请求,路由转发,接入多个项目或子域名,我们来看看如何配置。
它的配置文件通常位于
/etc/nginx/nginx.conf
其配置结构主要包含以下几个部分:
server {    listen 80;  # 监听端口    server_name example.com;  # 域名    location / {        root /var/www/html;  # 网站根目录        index index.html index.htm;  # 默认文件    }    # 错误页面配置    error_page 404 /404.html;    location = /404.html {        root /var/www/error_pages;    }}
以上文件解释一下:监听了 80 端口,绑定了域名 example.com。
当用户访问这个域名时,请求会进入根路径/,对应的本地目录是 /var/www/html,默认加载 index.html 或 index.htm。
如果访问的页面不存在(返回 404 错误),则跳转到自定义的 404.html 页面,这个错误页面放在 /var/www/error_pages 目录下。
Nginx 多站点配置
我们推荐使用多配置文件来解决这个问题,这样更清晰、直观。
首先我们有一个主配置文件
/etc/nginx/nginx.conf
内容为:
http {    include /etc/nginx/conf.d/*.conf;}
我们先来生成一个默认配置文件,这里处理所有域名的匹配,如果有更精准的匹配,则会采用更精准匹配模式。
/etc/nginx/conf.d/default.conf
defaulf.conf 文件内容为:
# 默认HTTP配置server {    listen 80 default_server;    server_name _;    return 444;}# 默认HTTPS配置server {    listen 443 ssl default_server;    server_name _;    ssl_certificate /path/to/default.pem;    ssl_certificate_key /path/to/default.key;    return 444;}
然后我们为每个子域名来创建单独的配置文件,文件位置:
/etc/nginx/conf.d/domain1.conf
domain1.conf 文件内容为:
# HTTP 跳转到 HTTPSserver {    listen 80;    server_name domain1.com www.domain1.com;    return 301 https://$host$request_uri;}# HTTPS 主配置server {    listen 443 ssl;    server_name domain1.com www.domain1.com;    ssl_certificate /path/to/cert.pem*;    ssl_certificate_key /path/to/key.pem*;    root /var/www/domain1;    index index.html;}
第二个域名:
/etc/nginx/conf.d/domain2.conf
domain2.conf 文件内容:
# HTTP 跳转到 HTTPSserver {    listen 80;    server_name domain2.com www.domain2.com;    return 301 https://$host$request_uri;}# HTTPS 主配置server {    listen 443 ssl;    server_name domain2.com www.domain2.com;    ssl_certificate /path/to/cert.pem*;    ssl_certificate_key /path/to/key.pem*;    root /var/www/domain2;    index index.html;}
如何处理通配符域名
# HTTP 跳转到 HTTPSserver {    listen 80;    server_name *.example.com;    return 301 https://$host$request_uri;}# HTTPS 主配置server {    listen 443 ssl;    server_name *.example.com;    ssl_certificate /path/to/wildcard.pem*;    ssl_certificate_key /path/to/wildcard.key*;    set $subdomain "";    if ($host ~* ^([^\\.]+)\\.example\\.com$) {        set $subdomain $1;    }    root /var/www/$subdomain;    index index.html;}
Nginx 负载均衡示例
常用于高并发场景下,将用户请求平均或按权重分配到多台后端服务器,提升网站稳定性和响应速度。
因为我并没有参与过负载均衡的服务配置,这个章节很重要,但我没有实际操作经验,以下只为示例:
http {    upstream backend {        server backend1.example.com weight=5;        server backend2.example.com;        server backend3.example.com backup;    }    server {        listen 80;        location / {            proxy_pass <http://backend>;        }    }}
这段配置实现了 Nginx 的反向代理 + 负载均衡功能:
使用 upstream 定义了一个名为 backend 的服务器组,里面有三个后端服务:
backend1.example.com
-> 权重为 5(被优先使用)
backend2.example.com
-> 默认权重(次之)
backend3.example.com
-> 标记为 backup,只在前两个都挂掉时启用
外部请求访问 80 端口的 / 路径时,会被 proxy_pass 转发到这个 backend 服务器组,实现请求分流。
Nginx 重启
Nginx 修改完配置以后,一定要重启,否则不会生效。
我们需要先检查配置语法:
nginx -t
然后重新加载配置(不中断服务):
nginx -s reload
最后,重启Nginx 服务
systemctl restart nginx


阅读原文:原文链接


该文章在 2025/7/2 0:37:39 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved