Nginx安装

官网:http://nginx.org/en/download.html 下载最新的稳定版本

环境准备

gcc

Nginx是使用C语言编写的程序,因此想要运行Nginx就需要安装一个编译工具。GCC就是一个开源的编译器集合,用于处理各种各样的语言,其中就包含了C语言。

# 查看gcc版本
gcc --version

yum install -y gcc

PCRE库

Nginx在编译过程中需要使用到PCRE库(perl Compatible Regular Expressoin 兼容正则表达式库),因为在Nginx的Rewrite模块和http核心模块都会使用到PCRE正则表达式语法。

# 查看pcre 是否安装
rpm -qa pcre pcre-devel

# 安装pcre 
yum install -y pcre pcre-devel

zlib

zlib库提供了开发人员的压缩算法,在Nginx的各个模块中需要使用gzip压缩,所以我们也需要提前安装其库及源代码zlib和zlib-devel

rpm -qa zlib zlib-devel

yum install -y zlib zlib-devel

OpenSSL

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包进行安全通信,并且避免被窃听。
SSL:Secure Sockets Layer安全套接协议的缩写,可以在Internet上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性。
在Nginx中,如果服务器需要提供安全网页时就需要用到OpenSSL库,所以我们需要对OpenSSL的库文件及它的开发安装包进行一个安装。

rpm -qa openssl openssl-devel
yum install -y openssl openssl-devel

统一环境安装

rpm -qa gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

nginx安装

cd /opt
mkdir -p nginx/core

# 解压nginx到 nginx/core
tar -zxvf nginx-1.20.2.tar.gz 

# 指定安装目录 默认在/usr/local/nginx
./configure --prefix=/usr/local/nginx
# 编译
make

# 安装
make install

# 查看nginx 版本
whereis nginx
cd /usr/local/nginx/sbin
./nginx -v

# 启动nginx
./sbin/nginx -c conf/nginx.conf
# 停止nginx
./sbin/nginx -s stop

Nginx启动/关闭

对于Nginx的启停在linux系统中也有很多种方式,这里介绍两种方式:

  1. Nginx服务的信号控制
  2. Nginx的命令行控制

信号控制

Nginx默认采用的是多进程的方式来工作的,当将Nginx启动后,我们通过ps -ef | grep nginx命令可以查看到如下内容:
image

从上图中可以看到,Nginx后台进程中包含一个master进程和多个worker进程,

  • master进程主要用来管理worker进程,包含接收外界的信息,并将接收到的信号发送给各个worker进程,监控worker进程的状态,当worker进程出现异常退出后,会自动重新启动新的worker进程。
  • worker进程则是专门用来处理用户请求的,各个worker进程之间是平等
    的并且相互独立,处理请求的机会也是一样的。
信号 作用
TERM / INT 立即关闭整个服务
QUIT "优雅"地关闭整个服务
HUP 重读配置文件并使用服务对新配置项生效
USR1 重新打开日志文件,可以用来进行日志切割
USR2 平滑升级到最新版的nginx
WINCH 所有子进程不在接收处理新连接,相当于给work进程发送QUIT指令

调用命令为kill -signal PID 。signal:即为信号;PID即为获取到的master线程ID

kill -TERM PID / kill -TERM `cat /usr/local/nginx/logs/nginx.pid` 
kill -INT PID / kill -INT `cat /usr/local/nginx/logs/nginx.pid`

命令行控制

此方式是通过Nginx安装目录下的sbin下的可执行文件nginx来进行 Nginx状态的控制,我们可以通过nginx -h来查看都有哪些参数可以用:
image

Nginx命令配置到系统环境

vim /etc/profile
在最后一行添加
export PATH=$PATH:/usr/local/nginx/sbin

source /etc/profile

nginx -V
posted @ 2021-12-14 16:10  狻猊的主人  阅读(36)  评论(0编辑  收藏  举报