nginx 基本命令

查看nginx命令

nginx -v
root@ubuntu:/usr/local/nginx/sbin# ./nginx -?
nginx version: nginx/1.14.0
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : 显示版本并退出
  -V            : 显示版本和配置选项,然后退出
  -t            : 测试配置和退出
  -T            : 测试配置,转储配置并退出
  -q            : 在配置测试期间抑制非错误消息
  -s signal     : 向主节点发送信号: stop, quit, reopen(重新打开一个输出到日志的流), reload
  -p prefix     : 设置前缀路径 (default: /usr/local/nginx/) 表示nginx的相对路径,如在配置中的 root html 就会在这个路径下找html文件夹
  -c filename   : 设置配置文件 (default: conf/nginx.conf)
  -g directives : 从配置文件中设置全局指令 如 -g "user root;" 表示给配置文件添加一个user变量启动 像java的 jar -jar -Dfile.encoding=UTF-8 test.jar 一样

nginx配置

worker_processes  1; #工作进程数

events {
    worker_connections  1024; #每个工作进程的最大连接数
}

http {
    include       mime.types; #引入文件
    default_type  application/octet-stream;

    sendfile        on; #使用sendfile系统调用来传输文件

    keepalive_timeout  65;
     
    server {
        listen       80;
        server_name  www.zijian.com; #域名,如果有两个server都是监听80端口,访问www.zijian.com 则使用该server处理
        location / {
            root   html; #指定站点根目录
            index  index.html index.htm;
        }
  

location 访问规则

location / {
       root   html; #指定站点根目录
       ndex  index.html index.htm;
}
#访问 www.zijian.com/user/a.html
#最终寻址 访问html目录下 user/a.html 文件

location /old {
	alias /usr/www/zijian_old; #指定站点别名 基于 alias路径+去除location前缀后的路径
	index index.html index.htm;
}
#访问 www.zijian.com/old/a.html
#最终寻址 /usr/www/zijian_old/a.html 

#基于正则的动静分离
location ~* \.(gif|jpg|png|css|js)$ { # ~* 表示对大小写不敏感的
      root /usr/www/static;
}

#防盗链规则
location ~* \.(gif|jpg|png|css|js)$ { # ~* 表示对大小写不敏感的
	valid_referers none blocked *.zijian.com; #若访问域名不匹配 *.zijian.com 则返回403
 	if ($invalid_referer) {
       		return 403;
	}     
 	root /usr/www/static;
}

#下载限速
location /download {
    limit_rate 1m; //限制每S下载速度
    limit_rate_after 30m; // 下载超过30m之后再限速
}

#创建IP黑名单
location /
{
    #开放指定IP 段
    allow 192.168.0.0/24;
    allow 127.0.0.1;
    deny all;
    #这段配置值允许192.168.0.0/24网段和127.0.0.1的请求,其他来源IP全部拒绝。
}
#封禁指定IP
deny 192.168.0.1;
#封禁所有
deny    all;
#开放所有
allow    all;
# 创建黑名单文件
echo 'deny 192.168.0.132;' >> balck.ip
#http 配置块中引入 黑名单文件
include  black.ip;