首页 > 系统相关 >Nginx配置相关说明

Nginx配置相关说明

时间:2022-12-20 11:39:29浏览次数:56  
标签:http nginx ## 配置 server 说明 Nginx conf



需要详细了解Nginx配置的可以参考以下的站点:

Nginx中文WIKI:


​http://wiki.nginx.org/NginxChs​


Nginx源码解析blog:


​http://www.pagefault.info/?p=368​


Nginx英文官方配置:


​http://wiki.nginx.org/Configuration​


Nginx模块参考手册中文版:


​http://www.howtocn.org/nginx:Nginx​


=================================================个人说明分割线================================================


参数:

-c <path_to_config>:使用指定的配置文件而不是 conf 目录下的 nginx.conf 。


-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。


-v:显示 nginx 版本号。


-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。


-s:启动参数,后跟具体选项,如reload、restart、stop等



配置加载:

只加载主配置文件nginx.conf,然后这个文件里可以有include指令来包含外部的.conf文件进来,所以server级别的配置可以独立出来放在单独的conf文件里,便于管理和维护,不过独立的server级别的conf必须要放置在sites-available目录下,还要在sites-enable目录下对应建立一个软件连接,这样才能生效。



配置结构:

nginx配置文件是有自己的语法规则的,给vim添加nginx.vim配置可以支持nginx语法的高亮显示;既然有语法那么就有一定的格式,nginx配置文件是按块来分的:顶层的有main、event、http3个块;其中main代表的就是nginx.conf整个文件的区域,event、http都是nginx.conf文件里的顶级块,它们都有自己的范围,使用花括弧来圈定范围。简单的如下:


user  nobody;                ##main块
worker_processes 1; ##main块
events { ##event块
worker_connections 1024;
}
http { ##http块
include mime.types;
default_type application/octet-stream;
}

其中http块代表的就是nginx服务了,一个nginx只有一个http块;http块下可以有server块,就是对应的web服务,也就是虚拟主机,因为nginx支持多个虚拟主机,所以server块会有很多,而为了方便管理通常会把server块给独立出来,放置到sites-available目录里,server块的简单配置见下:


http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
include /path/to/some/conf/file
server {
listen 80; #设定端口
server_name localhost; ##规定服务名
location / {
root html; ##设置web程序的主目录
index index.html index.htm; ##设置默认文件
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}


正则语法:

nginx里使用的比较多的就是正则语法的应用了,所以需要记录一下。需要使用正则的地方通常都是location、rewrite、if语句等,使用正则的选项具体如下:


* ~ 区分大小写匹配正则


* ~* 不区分大小写匹配正则


* !~ 和 !~* 与 ~ 和 ~* 是相反的意思,即为若不匹配正则表达式,结果为真


* 检查一个文件是否存在,使用 -f 和 !-f


* 检查一个目录是否存在,使用 -d 和 !-d


* 检查一个文件/目录/链接是否存在,使用 -e 和 !-e


* 检查文件是否可执行文件,使用 -x 和 !-x


location /index.html { ... }      ##只匹配/index.html


location ~* ^/static/.* { ... }   ##不区分大小匹配以/static/开头的请求路径


if (-f $file_name) { ... }       ##如果请求的文件名是一个文件


可以通过在正则里加括弧在进行引用操作,如:


location ~* ^/static/(.*) { ...$1... }     #$1就是对.*多匹配到的内容的引用



中断关键字:

* last 结束rewrite指令的执行,之后查找响应的URI和location


* break 结束rewrite指令的执行


* redirect 以状态码302进行临时重定向;可在替换的串值以 http:// 开头时使用它


* permanent 以状态码301进行永久重定向


* return 该指令结束命令执行,并向客户端返回一个状态码。


* rewrite 重写url,即url跳转


标签:http,nginx,##,配置,server,说明,Nginx,conf
From: https://blog.51cto.com/u_15918230/5954620

相关文章

  • 美国服务器如何配置防火墙
    1、防火墙的所有文件规则必须更改由于美国服务器防火墙没有内置的变动管理流程,因此文件更改对于许多用户来说并不是最佳的实践方法,因为美国服务器防火墙如果有突发情况......
  • 实例说明optimize table在优化mysql时很重要
    实例说明optimizetable在优化mysql时很重要张映发表于2011-03-07分类目录:mysql标签:mysql,optimizetable,优化今天在看CU的时候,发现有人问有关optimize来......
  • webpy中配置发送邮件服务
    官方cookbook链接:http://webpy.org/cookbook/sendmail.zh-cn前提:需要安装web.py了,因为我这个web应用是用web.py写的#!\urs\bin\envpython#encoding:utf-8importwebdefse......
  • CentOS7基础网络配置
    1、网卡配置vi/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0HWADDR=00:0C:29:6C:BB:E6NM_CONTROLLED="yes"ONBOOT=yesPEERDNS=yesBOOTPROTO=staticIPADDR=192.168......
  • Windows7下git配置difftool
    GIT是一个代码版本控制工具,是软件开发团队中必不可少的一类工具,类似的工具还有像SVN,CVS等;在此之前我一直使用的SVN,因为SVN在windows下有很好的客户端【小乌龟】,使用起来简单......
  • centos7安全防护配置
    前言这段时间公司的服务器在做等保验证,对服务器的做了一些安全防护配置,留此记录。操作系统版本:centos7.6密码有效周期相关文件:/etc/login.defs参数说明默认值......
  • (转载)配置SQLServer,允许远程连接
    需要别人远程你的数据库,首先需要的是在一个局域网内,或者连接的是同一个路由器,接下来就是具体步骤:(一)首先是要检查SQLServer数据库服务器中是否允许远程链接。其具体操作为:......
  • jsconfig.json 配置vscode只能跳转文件
    -根目录创建jsconfig.json{"compilerOptions":{"baseUrl":"./","paths":{"@/*":["src/*"],}},"include":["src/**/*"],......
  • 直播小程序源码,配置tabbar底部导航栏
    直播小程序源码,配置tabbar底部导航栏 //配置tabbar导航栏"tabBar":{"borderStyle":"black","selectedColor":"#FB7299","color":"#444444","list":[{"pagePath":......
  • linux 配置yum源
    1. 切换到yum源配置目录cd/etc/yum.repos.d/2.备份所有配置文件mkdirbackmv*./back3.新建一个xxx.repo文件touchCentos-Base.repo4.编辑文件内......