Nginx 模块常用命令介绍

本次的命令资料全部来自官网除全局定义以及events,地址:https://nginx.org

Nginx 配置组成:

...              #全局块

events {         #events块
   ...
}

http      #http块
{
    ...   #http全局块
    server        #server块
    { 
        ...       #server全局块
        location [PATTERN]   #location块
        {
            ...
        }
        location [PATTERN] 
        {
            ...
        }
    }
    server
    {
      ...
    }
    ...     #http全局块
}

一、全局定义

########### 每个指令必须有分号结束。#################
#user administrator administrators;  #配置用户或者组,默认为nobody nobody。
#worker_processes 2;  #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid;   #指定nginx进程运行文件存放地址
error_log log/error.log debug;  #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg

二、events定义

events {
    accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
    multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
    #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    worker_connections  1024;    #最大连接数,默认为512
}

三、http定义,最为重点

Modules reference下的

1、alias path;

使用场景:location

[[email protected]_30 nginx]# grep "download\|alias" nginx.conf    #查看配置
	location /download/ {
	    alias /data/site/;
[[email protected]_30 nginx]# tail /data/site/index.html           #查看site下index.html内容
<h1>Sunshine alias</h1>
[[email protected]_30 nginx]# curl http://www.sunshine.com/download/index.html    #curl获取信息,获取的是/data/site/index.html内容
<h1>Sunshine alias</h1>

2、root path;

使用场景:httpserverlocationif in location

[[email protected]_30 nginx]# grep "download\|root" nginx.conf     #查看配置
	location /download/ {
	    root /data/site;
[[email protected]_30 nginx]# cat /data/site/download/index.html   #查看download下index.html内容,注意看获取的结果
<h1>Sunshine root</h1>
[[email protected]_30 nginx]# curl    #更上面alias路径一样,获取到的内容却不一样 
<h1>Sunshine alias</h1>

#alias与root区别在于,alias把请求/download/变成/data/site/,而root则是把请求的/download/变更/data/site/download/

3、http { ... }

定义:提供服务配置内容,这个没什么好讲的

4、limit_rate rate;

使用场景http, server, location, if in location  定义:现在访问资源的速率

[[email protected]_30 nginx]# grep "location\|root\|limit_rate" nginx.conf      #查看下配置
	location /download/ {
	    root /data/site;
	    limit_rate 20k;
[[email protected]_29 ~]# wget http://www.sunshine.com/download/sunshine.img    #测试下,看看下载速率
--2016-10-13 19:22:15--  http://www.sunshine.com/download/sunshine.img
Resolving www.sunshine.com (www.sunshine.com)... 192.168.11.30
Connecting to www.sunshine.com (www.sunshine.com)|192.168.11.30|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1073741824 (1.0G) [application/octet-stream]
Saving to: ‘sunshine.img’

 0% [                                                                                                                                                      ] 6,103,040   19.6KB/s  eta 14h 29m

5、limit_except method ... { ... }

使用场景:location 定义:使用的方法

[[email protected]_30 nginx]# grep "limit\|allow\|deny" nginx.conf             #查看配置
	    limit_rate 20k;
	    limit_except GET POST { 
		   #allow 192.168.220.19;
		   allow 192.168.11.29;
		   deny all;
[[email protected]_30 nginx]# ifconfig | grep "inet 192.168"                   #查看IP地址
        inet 192.168.11.30  netmask 255.255.255.0  broadcast 192.168.11.255
[[email protected]_30 nginx]# curl  #使用GET获取 
<h1>Sunshine root</h1>
[[email protected]_30 nginx]# curl -X PUT   #使用PUT,报错403 
<html
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.8.1</center>
</body>
</html>
[[email protected]_29 ~]# ifconfig | grep "inet 192.168"                       #查看IP地址
        inet 192.168.11.29  netmask 255.255.255.0  broadcast 192.168.11.255        
[[email protected]_29 ~]# curl http://www.sunshine.com/download/index.html     #使用GET获取
<h1>Sunshine root</h1>
[[email protected]_29 ~]# curl -X PUT  #使用PUT,提示405,提示没权 
<html>
<head><title>405 Not Allowed</title></head>
<body bgcolor="white">
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.8.1</center>
</body>
</html>

6、listen address[:port]    listen port     listen unix:path

使用场景:server 定义:监听,ip+port  port  unix:path

[[email protected]_30 nginx]# grep "server\|listen" nginx.conf                  #查看配置
    server {
        listen       80;
        server_name  
[[email protected]_29 ~]# curl http://www.sunshine.com/download/index.html      #访问
<h1>Sunshine root</h1>

7、server {......}

场景:http 定义:虚拟主机

[[email protected]_30 nginx]# grep "server\|listen" nginx.conf                #查看配置,在http{server}
    server {
        listen       80;
        server_name  www.sunshine.com;

8、server_name name ...;

场景:server 定义:主机名称

[[email protected]_30 nginx]# grep "server\|listen" nginx.conf                #查看配置,在server{server_name}
    server {
        listen       80;
        server_name  www.sunshine.com;

其他的上官网看吧~其实挺简单的。多看看就会了~

时间: 2024-12-07 03:36:22

Nginx 模块常用命令介绍的相关文章

转:maven常用命令介绍

mvn 3.0.4 创建maven项目命令 mvn  archetype:generate   -DgroupId=damocles-autocredit -DartifactId=damocles-autocredit  -DarchetypeArtifactId=maven-archetype-quickstart     -DinteractiveMode=false  -X 1 下载源代码:mvn dependency:sources -DdownloadSources=true -Dd

debug常用命令介绍(学习汇编)

显示所有寄存器内容 格式:-r  功能:以十六进制形式显示cpu内部个寄存器的值:以符号形式显示标志寄存器的各标志位(除tf外)的值:并将CS:IP所指的内存内容反汇编成一条指令,可视为将要执行的指令.如: -r   回车AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000DS=0AF0  ES=0AF0  SS=0AF0  CS=0AF0  IP=0200   NV UP EI PL NZ NA PO NC

maven常用命令介绍

mvn 3.0.4 创建maven项目命令 mvn  archetype:generate   -DgroupId=damocles-autocredit -DartifactId=damocles-autocredit  -DarchetypeArtifactId=maven-archetype-quickstart     -DinteractiveMode=false  -X 1 下载源代码:mvn dependency:sources -DdownloadSources=true -Dd

linux系统防火墙相关问题及常用命令介绍

今天介绍关于linux系统防火墙:centos5.centos6.redhat6系统自带的是iptables防火墙,centos7.redhat7自带firewall防火墙,ubuntu系统使用的是ufw防火墙.本平台www.gxdeqiong.com 安装的是iptables防火墙(其他云服务供应商可能使用的是其他防火墙). 防火墙导致服务不正常的问题: 在服务器安装某些服务之后,服务无法连接.无法正常启动等情况.查看下系统防火墙有没开放相关的服务端口.(linux系统防火墙开放相关端口后还要

Nginx常用命令介绍

Nginx常用命令 Nginx PID位置 /var/run/nginx.pid Nginx关闭 Nginx支持以下几种信号控制: - TERM, INT 快速关闭 - QUIT 从容关闭 - HUP 平滑重启 - USR1 重新打开日志文件,在切割文件时用处大 - USR2 平滑升级 - WINCH 从容关闭工作进程 #从容停止Nginx ? kill -QUIT master进程号 ? #快速停止Nginx ? kill -TERM master进程号 ? #强制停止Nginx ? kill

Linux常用命令介绍

Linux常用命令示例: 在使用Linux操作系统的过程中,我们经常要用到一些特殊的命令,不仅显示了技术的高超,而且在效率方面当然要比图像化界面高很多,下面我总结了一些常见的Linux命令,供以后学习使用,使用命令时,在命令后面加参数"--help"或者用"man 命令"可以取得命令的详细用法. (*)小常识:在Linux中使用命令操作文件时,可以仅输入文件名的前几个字符,然后按键盘的"Tab"键补全文件名的后面部分,若输入的字符是多个文件名的起

nginx: [alert] kill(1668, 1) failed (3: No such process)的解决办法及nginx服务常用命令总结

[问题描述] 更改完nginx.conf文件后,执行/application/nginx/sbin/nginx -s reload命令重新加载配置文件,报以下错误信息: nginx: [alert] kill(1668, 1) failed (3: No such process) 提示没有相关进程. [解决] 其实这个问题很低级的说,就是我之前压根就没有启动nginx服务,执行/app/nginx/sbin/nginx,开启nginx服务后,重新加载nginx配置,一切正常! [nginx服务

Git基础(常用命令)介绍

版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统. 关于版本控制分为三种:本地版本控制系统,如rcs:集中化的版本控制系统,如CVS.SVN:分布式版本控制系统,如Git. Git基础要点 Git和其它版本控制系统的主要差别在于:Git只关心文件数据的整体是否发生变化,而大多数其它系统则只关心文件内容的具体差异. 对于任何一个文件,在Git内都只有三种状态:已提交(committed).已修改(modified)和已暂存(staged).已提交表示该文件已经被安全地保存在本

redis数据类型及常用命令介绍(图文实例)

上图中即为redis中5种基本数据类型,在没接触过redis之前,听过最多相关的字眼就是键值对key-value之类,立马让我想到了HashMap.在HashMap中,key和value的的数据类型都可以指定,value也可以是HashMap类型.而在这里,redis的基本数据类型是针对的value,有这5种. 文中所用测试记录环境在Linux下,命令操作在SSH客户端下,这里使用的是Xshell 5,个人使用感觉很方便,同一系列的Xftp 5用于远程文件上传操作也很不错.如有需要,可直接进入官