Nginx 自身的配置
- user:Nginx 在装置时创立的用户。Nginx 运行时也是以该用户的身份运行的。
- worker-processes:过程数。举荐设置为处理器 /CPU 核数。过多或过少都会导致性能降落。
-
error_log:谬误日志地位。
波及到服务器的配置
events.worker_connections:一个过程能持有的连接数。依据网站的并发量设置。
http 配置:服务器的次要配置
- access_log:网站的拜访日志。
- include:存在多个域名时,能够拆分为不同配置文件,用 include 蕴含拆分的配置文件。主动生成的配置文件中,include 蕴含对服务器的默认配置 default.conf。
- default.conf;蕴含一个 server 配置块。
- server.server_name:用于指定域名(如 example.com www.example.com 示意拜访 example.com 或 www.example.com),默认为 localhost。用于实现基于名称的虚构服务器。一个服务器中可能运行多个网站,要为不同网站指定不同配置文件,能够在不同配置文件的 server_name 中指定不同名称。
-
server.location:用于将不同的门路拜访路由到不同文件。如
# 拜访不带门路的域名时,root 门路下的 index.html 会被返回给用户。location / { # 如果在 windows 上,则 root 为绝对路径,如 D:\dev\React root /usr/share/nginx/html; index index.html }
Linux 命令行
systemctl restart nginx
:重启 nginxsystemctl status nginx
:查看 nginx 状态systemctl reload nginx
:从新加载配置文件,但不重启 nginxsystemctl stop nginx
:进行 nginx-
systemctl start nginx
:启动 nginx单页面利用跳转配置
问题 :单页面利用只有 index.html 一个界面文件,其余界面通过前端路由。但浏览器在刷新或应用 window.location.href 跳转时,仍会向 nginx 发送申请,此时 nginx 无奈找到门路对应的文件,会显示 404。
解决:location / { root ... index index.html # 无论 root 是什么门路,这里的最初一项都能够间接写 /index.html try_files $uri /index.html; }
try_files:按指定程序查找文件,并用找到的第一个文件解决申请。语法如下:
try_files file1 file2 ... uri try_files file1 file2 ... =code
其中,参数 file1、file2 是用于查找文件的门路(绝对于 root 的相对路径)。filex 能够应用 $uri,示意申请的门路和文件名。应用第一种语法时,如果所有 filex 参数指定的门路都没有找到文件,则外部向 uri 指定的门路发送申请(依据 server_name 指定的域名);应用第二种语法时,如果所有 filex 指定的文件都未找到,则返回 code 指定的响应码(如 404)。详见。
因而,上文解决单页面刷新 / 跳转 404 的配置示意,如果申请为 localhost/login,则先在 root 指定的地址中查找 /login 文件,如果文件不存在,则在外部向 localhost/index.html 发送申请,并将后果返回给用户。