你需要知道的 nginx 基础配置

你需要知道的 Nginx 基础配置

Nginx 是一款高性能的开源 Web 服务器和反向代理服务器,广泛应用于网站、Web 应用和移动应用等领域。在前端开发中,Nginx 可以作为静态文件服务器、负载均衡器和缓存服务器等。

本文将介绍 Nginx 的基础配置,包括安装、启动、配置文件的结构、常见的配置选项和示例代码,帮助读者深入了解 Nginx 的使用方法和原理。

安装和启动 Nginx

在 Ubuntu 系统上,可以通过以下命令安装 Nginx:

---- ------- ------
---- ------- ------- -----

安装完成后,可以使用以下命令启动 Nginx:

---- --------- ----- -----

配置文件结构

Nginx 的配置文件位于 /etc/nginx/nginx.conf,其结构如下:

---- ---------
---------------- -----
--- ---------------

------ -
    ------------------ -----
-

---- -
    ------- ----------------------
    ------------ -------------------------

    ---------- ---- ------------- - ------------ ------------- ---------- -
                    -------- ---------------- --------------- -
                    ------------------- -------------------------

    ---------- ------------------------- -----
    --------- -------------------------

    -------- ---
    ---------- ---
    ----------- ---

    ----------------- ---

    ---- ---
    ------------ --------

    ------- -------------------------
-

配置文件主要包括三个部分:用户、事件和 HTTP。其中,用户部分指定 Nginx 运行的用户;事件部分指定 worker 进程的数量和每个进程的最大连接数;HTTP 部分则包括 MIME 类型、日志格式、访问日志和错误日志、文件传输、TCP 参数、保持连接超时时间和 Gzip 压缩等选项。

常见的配置选项

location

location 指令用于匹配 URL,并设置相应的处理方式。例如:

-------- - -
    ---- --------------
    ----- -----------
-

-------- ---- -
    ---------- ----------------------
-

以上配置中,第一个 location 指令用于将根路径 "/" 映射到本地目录 "/var/www/html" 中,并返回 "index.html" 文件;第二个 location 指令用于将 "/api" 映射到本地的 Node.js 服务地址 "http://localhost:3000" 中。

proxy_pass

proxy_pass 指令用于反向代理到另一个服务器。例如:

-------- ---- -
    ---------- ----------------------
-

以上配置中,所有以 "/api" 开头的请求都会被转发到本地的 Node.js 服务地址 "http://localhost:3000" 中。

root 和 index

rootindex 指令用于设置静态文件的根目录和默认文件。例如:

-------- - -
    ---- --------------
    ----- -----------
-

以上配置中,所有以 "/" 开头的请求都会被映射到本地目录 "/var/www/html" 中,并返回 "index.html" 文件。

try_files

try_files 指令用于在指定的文件或 URI 不存在时,自动跳转到其他 URL。例如:

-------- - -
    --------- ---- ----- ------------
-

以上配置中,如果访问的文件或 URI 不存在,则依次尝试以下三个 URL:原始 URL、URL 加上斜杆 "/"、"/index.html"。

示例代码

以下是一个完整的 Nginx 配置示例,用于将静态文件和 API 请求分别代

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/14460