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
:进行nginxsystemctl 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 ... uritry_files file1 file2 ... =code
其中,参数file1、file2是用于查找文件的门路(绝对于root的相对路径)。filex能够应用$uri,示意申请的门路和文件名。应用第一种语法时,如果所有filex参数指定的门路都没有找到文件,则外部向uri指定的门路发送申请(依据server_name指定的域名);应用第二种语法时,如果所有filex指定的文件都未找到,则返回code指定的响应码(如404)。详见。
因而,上文解决单页面刷新/跳转404的配置示意,如果申请为localhost/login,则先在root指定的地址中查找/login文件,如果文件不存在,则在外部向localhost/index.html发送申请,并将后果返回给用户。