nginx笔记(一)
2020-04-21 16:02:32来源:博客园 阅读 ()
nginx笔记(一)
Posted on 2020-04-21 11:38 龙翔天下 阅读(...) 评论(...) 编辑 收藏一、nginx版本
开源版本主要有:
mainline--含最新特性和及时的bug修复,以及一些试验性的组件和一些新bug;
stable--不含最新特性,但含有重要的bug修复并跟随移植到相关的mainline版本。推荐生产环境使用。
二、安装方式:
(1)使用预编译的二进制包:此种方式最快捷;
(2)通过源码编译成二进制包:最复杂,但能个性化;
通过预编译的二进制包(以CentOS为例):
支持的系统版本有:
Version | Supported Platforms |
---|---|
6.x | x86_64, i386 |
7.4+ | x86_64, ppc64le |
8.x | x86_64 |
获取预编译二进制包方式:
默认通过repository库,这是最快的方式,但提供的包一般是旧版本:
sudo yum install epel-release #安装epel包 yum update #更新repository yum install nginx #安装nginx sudo nginx -v #验证安装 nginx version: nginx/1.6.3
如果从官方nginx.org获取,则首先用yum设置官方库,这样能获取最新的安装包。
vi /etc/yum.repos.d/nginx.repo #编辑库来源文件 #添加以下nginx.repo [nginx] name=nginx repo baseurl=https://nginx.org/packages/mainline/<OS>/<OSRELEASE>/$basearch/ gpgcheck=0 enabled=1 #mainline元素表示从mainline获取最新版本,需要stable版本则删除此元素。 #<OS>:填写rhel或者centos #<OSRELEASE>: 操作系统版本号(6, 6._x_, 7, 7._x_ and so on) #退出vi, 保存。 yum update #更新repo yum install nginx #安装nginx $ curl -I 127.0.0.1 #验证安装 HTTP/1.1 200 OK Server: nginx/1.13.8
从源码编译和安装:
在编译nginx源码之前,需要先安装独立的运行库:
RCRE:用于支持正则表达式,nignx Core和Rewrite组件需要它。
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.44.tar.gz $ tar -zxf pcre-8.44.tar.gz $ cd pcre-8.44 $ ./configure $ make $ sudo make install
zlib:支持头部信息压缩,nginx Gzip组件需要它。
$ wget http://zlib.net/zlib-1.2.11.tar.gz $ tar -zxf zlib-1.2.11.tar.gz $ cd zlib-1.2.11 $ ./configure $ make $ sudo make install
OpenSSL:支持https协议,nginx SSL和其它组件需要它。
$ wget http://www.openssl.org/source/openssl-1.1.1d.tar.gz $ tar -zxf openssl-1.1.1d.tar.gz $ cd openssl-1.1.1d $ ./Configure darwin64-x86_64-cc --prefix=/usr $ make $ sudo make install
下载源码:
#下载主线版本: $ wget https://nginx.org/download/nginx-1.17.9.tar.gz $ tar zxf nginx-1.17.9.tar.gz $ cd nginx-1.17.9 #下载稳定版本: $ wget https://nginx.org/download/nginx-1.16.1.tar.gz $ tar zxf nginx-1.16.1.tar.gz $ cd nginx-1.16.1
配置编译选项:
$ ./configure
具体的编译选项,参考官网:https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/?_ga=2.20119100.529167744.1587292980-45792041.1587182428#configuring-the-build-options
编译安装:
$ make $ sudo make install
完成安装后启动:
sudo nginx
三、nginx进程
nginx进程包含:一个主进程、一或多个工作进程。如果启用缓存还会出现缓存加载进程和缓存管理器进程。
主进程作用:读取和测试配置文件有效性、维护工作进程;
工作进程作用:对请求进行实际的相应处理,并通过 OS机制分配请求给相应的工作进程。
控制nginx基本操作:
nginx -s <signal>
<signal>为:
quit--优雅地关闭nginx
reload--重载配置文件
reopen--重新打开日志
stop--立即关闭nginx
四、nginx配置文件
配置文件:
默认文件名为nginx.conf,开源版Nginx的配置文件由安装时决定其位置,一般在以下位置:
/usr/local/nginx/conf; /usr/local/etc/nginx; /etc/nginx
指令:
配置文件由一定数量的“指令”及其参数组成;单行指令以分号结尾,而相关指令组合在一起用{}括号围住,称为“块”。
配置文件分类:
为了更方便维护,可以将明确一类功能的配置分开文件存放,推荐存放在/etc/nginx/conf.d文件夹内,并在主nginx.conf配置中加入:
include conf.d/http; include conf.d/stream; include conf.d/exchange-enhanced;
语境:
以下是一些顶级的指令,称之为”context"(语境、上下文),这些指令将应用于下面描述的各种流量类型:
events--常规连接处理
http--HTTP流量
mail--Mail流量
stream--TCP和UDP流量
虚拟服务器:
以每种流量处理语境中,你可以定义一个或多个 server 指令块来处理各种请求。
在HTTP流量中(即http语境内),每个server指令块用于处理通过IP或域名传输过来的请求。而location指令块定义在server指令块内用于处理特定的URI。
对于TCP/UDP和mail语境(即steam和mail指令),server指令用于处理指定TCP端口或UNIX socket的流量。
继承:
通常情况下,子指令会继承包含它的父指令的设置值,当然也可以在子指令中重定义设置来覆盖父指令设置值。
原文链接:https://www.cnblogs.com/xiwang6428/p/12739654.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:2.docker常用命令
- 附020.Nginx-ingress部署及使用 2020-06-02
- Bash Shell基础笔记 2020-05-26
- Nginx + Docker 多阶段构建的部署学习 2020-05-25
- 万字长文!一次性弄懂 Nginx 处理 HTTP 请求的 11 个阶段 2020-05-21
- linux设备驱动开发详解--读书笔记 2020-05-19
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash