欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

nginx安装方式和配置文件

程序员文章站 2022-04-30 17:54:30
一、nginx版本 开源版本主要有: mainline--含最新特性和及时的bug修复,以及一些试验性的组件和一些新bug; stable--不含最新特性,但含有重要的bug修复并跟随移植到相关的mainline版本。推荐生产环境使用。 二、安装方式: (1)使用预编译的二进制包:此种方式最快捷; ......

一、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

 

 具体的编译选项,参考官网:

 

编译安装:

$ 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