nginx笔记(一)

1.关闭iptables中的规则

  • iptables -t nat -F

2.停用selinux

  • 查看是否停用:getenforce
  • 设置停用:setenforce 0

3.安装gcc

  • yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake

4.

  • yum -y install wegt httpd-tools vim

5.ngnix概述

Ngnix是一个开源且高性能、可靠的HTTP中间件、代理服务。

6.nginx优点

6.1 IO多路复用epoll

多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这就叫I/O多路复用,这里的“复用”指的是复用同一个线程。

6.2 轻量级

  • 功能模块少
  • 代码模块化

6.3CPU亲和(affinity)

是一种把CPU核心和Nginx工作进程绑定方式,把每个worker进程固定在一个CPU上执行,减少切换cpu的cache miss,获得更好的性能。

6.4 sendfile

7. Centos安装nginx

7.1在/etc/yum.repos.d下创建ngnix.repo文件

  • vim /etc/yum.repos.d/ngnix.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

这里$releasever为centos版本(7)

7.2 安装nginx

  • yum install nginx

查看版本:nging -v

8.展示nginx在linux安装了哪些包?

  • rpm -ql nginx

9.ngnix安装目录讲解

9.1

路径 类型 作用
/etc/logrotate.d/nginx 配置文件 Nginx日志轮转,用于logrotate服务的日志切割

9.2

路径 类型 作用
/etc/nginx、/etc/nginx/conf.d、 /etc/nginx/conf.d/default.conf、 /etc/nginx/nginx.conf 目录,配置文件 Nginx主配置文件

9.3

路径 类型 作用
/etc/nginx/fastcgi_params、/etc/nginx/scgi_params、/etc/nginx/uwsgi_params 配置文件 cgi配置相关,fastcgi配置

9.4

路径 类型 作用
/etc/nginx/koi-utf、/etc/nginx/koi-win、/etc/nginx/win-utf 配置文件 编码转换映射转化文件

9.5

路径 类型 作用
/etc/nginx/mime.types 配置文件 设置http协议的Content-Type与扩展名对应关系

9.6

路径 类型 作用
/usr/lib/systemd/system/nginx-debug.service、/usr/lib/systemd/system/nginx.service 、/etc/sysconfig/nginx 、/etc/sysconfig/nginx-debug 配置文件 用于配置出系统守护进程管理器管理方式

9.7

路径 类型 作用
/usr/lib64/nginx/modules、/etc/nginx/modules 目录 Nginx模块目录

9.8

路径 类型 作用
/usr/sbin/nginx、/usr/sbin/nginx-debug 命令 Nginx服务的启动管理的终端命令

9.9

路径 类型 作用
/usr/share/doc/nginx-1.16.0、/usr/share/doc/nginx-1.16.0/COPYRIGHT、/usr/share/man/man8/nginx.8.gz 文件、目录 Nginx的手册和帮助文件

9.10

路径 类型 作用
/var/cache/nginx 目录 Nginx的缓存目录

9.11

路径 类型 作用
/var/log/nginx 目录 Nginx的日志目录

10 Nginx默认配置语法

11 Nginx启动命令

  • /usr/sbin/nginx -c /etc/nginx/nginx.conf
    /usr/sbin/nginx为启动管理的终端命令,/etc/nginx/nginx.conf为主配置文件。

12 Nginx重启命令

  • systemctl restart nginx.service
  • systemctl reload nginx.service

13 Nginx变量

  • HTTP请求变量:arg_PARAMETER,http_HEADER,sent_http_HEADER

14 Nginx模块

14.1 _stub_status_module

编译选项 作用
–with-http_stub_status_module Nginx的客户端状态

Systax:stub_status;
Default:—;
Context:server,location

  • 进入default.conf文件

vim default.conf

  • 添加location
location /mystatus {
   stub_status;
}
  • 测试配置是否成功

nginx -tc /etc/nginx/nginx.conf

如果出现以下类似内容,则表示成功:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

  • 重启ngnix.conf

nginx -s reload -c /etc/nginx/nginx.conf

  • 访问http://IP地址/mystatus

Active connections: 2
server accepts handled requests
8 8 28
Reading: 0 Writing: 1 Waiting: 1

8:表示接收握手的总次数
8:表示所处理的连接数
28:表示总的请求数
握手和处理的连接数相等,表示没有丢失。

14.2

编译选项 作用
–with-http_random_index_module 目录中选择一个随机主页

Systax:random_index on|off;
Default:random_index off;
Context:location

  • 将default.conf里面的location替换为:
  location / {
         root /usr/share/nginx/html;
         random_index on;
         #index index.html index.htm
}

14.3 --with-http_sub_module

编译选项 作用
–with-http_sub_module HTTP内容替换

Systax:sub_filter string replacement;
Default:—
Context:http,server,location

Systax:sub_filter_last_modified on|off;
Default:sub_filter_last_modified off;
Context:http,server,location

是否只匹配html中的第一个匹配的:
Systax:sub_filter_once on|off;
Default:sub_filter_once on;
Context:http,server,location

15 Nginx的请求限制

  • 连接频率限制:-limit_conn_module
  • 请求频率限制:-limit_req_module

15.1连接限制

Syntax:limit_conn_zone key zone=name:size
Default:—
Context:http

Syntax:limit_conn zone number;
Default:—
Context:http,server,location

15.2请求限制

Syntax:limit_req_zone key zone=name:size rate=rate;
Default:—
Context:http

Syntax:limit_req zone=name [burst=number] [nodelay];
Default:—
Context:http,server,location

16访问控制

16.1基于认证的访问控制

Syntax:auth_basic string | off;
Default:auth_basic off;
Context:http,server,location,limit_except

Syntax:auth_basic_user_file file;
Default:——
Context:http,server,location,limit_except

  • 下载htpasswd

rpm -qf /usr/bin/htpasswd

yum install httpd-tools

  • 添加账号文件

[root@VM_0_16_centos nginx]# htpasswd -c ./auth_conf 用户名

  • 修改default.conf
    location ~ ^/yellow.html {
    root /usr/share/nginx/html;
    auth_basic “Auth access test!input your password!”;
    auth_basic_user_file /etc/nginx/auth_conf;
    index index.html index.hml;
    }

16.1

deny
allow

你可能感兴趣的:(nginx)