青蛙学Linux—Nginx基础

Nginx是一款轻量级的高性能HTTP和反向代理服务器以及IMAP/POP3邮件代理服务器,由俄罗斯人伊戈尔·赛索耶夫为俄罗斯访问量第二的站点Rambler.ru开发的。Nginx为开源软件,因其并发能力强、系统资源占用小等优点而受到大家的欢迎。

Nginx不仅可以做为HTTP和反向代理服务器,也可以做为负载均衡服务器;Nginx的使用C语言编写,能在大部分的Unix like OS上编译运行,并且有Windows移植版;根据官方的说法,Nginx支持50000的并发连接数并且占用的内存非常小;Nginx配置简单,性能稳定。

1、Nginx的版本选择

Nginx的官方网站为nginx.org

在Nginx的官网上可以看到当前提供以下版本的Nginx下载:

10

其中,Mainline version为主线版本,也就是当前正在主力开发的版本,其更新速度非常快;Stable version为最新稳定版,是建议在生产环境中使用的主力版本,性能稳定,BUG少;Legacy versions为遗留的历史稳定版本。

在学习Nginx的这几篇文章中,我们将使用最新的稳定版本nginx-1.14.2。

2、安装Nginx

Nginx可以通过YUM安装,也可以在官网上下载源码进行安装。通过YUM进行安装时需要使用Nginx提供的源来安装(默认的源没有Nginx,需要EPEL源,但是EPEL源里的Nginx版本太低),具体可参见http://nginx.org/en/linux_packages.html#stable

这里使用源码来安装Nginx,安装的版本为Stable version,nginx-1.14.2,操作系统为CentOS 7.6.1810。

2.1、安装Nginx的依赖环境

Nginx主要需要的依赖包有zlib、pcre、openssl。zlib用于支持gzip模块,pcre用于支持rewrite模块,openssl用于支持ssl功能。

这里我们通过YUM来安装这三个依赖包:

[root@localhost apps]# yum install zlib pcre pcre-devel openssl openssl-devel

2.2、创建专用用户以运行Nginx

创建一个名为nginx的虚拟用户专门用来运行Nginx的子进程:

[root@localhost apps]# useradd -s /sbin/nologin nginx

2.3、编译安装Nginx

使用wget命令从官网下载nginx-1.14.2的tar.gz包,然后使用tar命令进行解压,进入解压后的目录,运行以下命令(将Nginx安装到/usr/local/nginx目录下):

[root@localhost nginx-1.14.2]# ./configure 
> --user=nginx 
> --group=nginx 
> --prefix=/usr/local/nginx 
> --pid-path=/var/run/nginx.pid 
> --lock-path=/var/lock/subsys/nginx 
> --with-http_stub_status_module 
> --with-http_ssl_module 
> --with-http_gzip_static_module 
> --with-pcre

configure时的常用参数:

  • --user:指定启动Nginx的用户
  • --group:指定启动Nginx的用户组
  • --sbin-path:设置Nginx二进制文件的路径,默认为安装目录下的/sbin/nginx
  • --conf-path:设置Nginx配置文件的路径,默认为安装目录下的/conf/nginx.conf
  • --error-log-path:设置Nginx错误日志文件的路径,默认为安装目录下的/logs/error.log
  • --http-log-path:设置Nginx访问日志文件的路径,默认为安装目录下的/logs/access.log
  • --pid-path:设置Nginx的pid文件的路径
  • --lock-path:设置Nginx的lock文件的路径
  • --with-openssl:指定openssl源码包的路径。如果编译时没有指定该参数,则使用系统的openssl
  • --with-pcre:启用正则表达式
  • --with-http_stub_status_module:启用Nginx的状态监控模块
  • --with-http_ssl_module:启用SSL模块
  • --with-http_gzip_static_module:启用gzip压缩

更多configure参数可以使用./configure --help查看。

configure执行完毕无报错后,执行:

[root@localhost nginx-1.14.2]# make

make执行完毕且无报错后,执行:

[root@localhost nginx-1.14.2]# make install

等待命令执行完毕无报错,Nginx就安装完成了。

3、Nginx的目录结构

在Nginx安装完成后,将会在其安装目录下生成以下目录结构:

[root@localhost nginx]# ls
conf  html  logs  sbin

其中,conf目录下保存Nginx的配置文件;html目录为Nginx默认的网站根目录;logs目录保存Nginx的日志文件;sbin目录下为Nginx的可执行二进制文件,通过该文件可以运行Nginx。

4、Nginx配置文件

Nginx的配置文件位于安装目录下的conf目录内,其中的nginx.conf为Nginx的主配置文件。nginx.conf主要由以下五部分组成:

  • main:全局配置
  • events:配置Nginx的工作模式及连接数
  • http:主要用来配置代理、缓存、日志格式等绝大多数功能和第三方模块。该部分可配置多个server
  • server:位于http配置之内,用于配置虚拟主机的相关参数
  • location:位于server之内,用于配置请求的处理规则

nginx.conf的五个组成部分间的关系如下图所示:

1

原文地址:https://www.cnblogs.com/yu2006070-01/p/10196401.html