当前位置:   article > 正文

【Linux & Nginx】Linux下安装Nginx与版本升级(nginx-1.24.0)_nginx1.24.0安装

nginx1.24.0安装
Linux下安装Nginx与版本升级【nginx-1.24.0】
  • 六、Nginx环境准备
    • 6.1.Nginx版本
    • 6.2.获取Nginx源码
    • 6.3.准备服务器系统
      • 6.3.1.环境准备
      • 6.3.2.确认centos的内核
      • 6.3.3.确保centos能联网
      • 6.3.4.确认关闭防火墙
      • 6.3.5.确认停用selinux
  • 七、Nginx安装方式【源码安装和yum安装】
    • 7.1.Nginx源码安装需要提前准备
      • 7.1.1.GCC编译器
      • 7.1.2.PCRE
      • 7.1.3.zlib
      • 7.1.4.OpenSSL
      • 7.1.5.警告时缺少安装包
    • 7.2.方案一:Nginx的源码安装
      • 7.2.1.进入官网查找需要下载版本的链接地址,然后使用wget命令进行下载
      • 7.2.2.将下载的资源进行包管理
      • 7.2.3.解压缩
      • 7.2.4.进入资源文件中,发现configure
      • 7.2.5.指定编译参数,编译Nginx复杂安装
      • 7.2.6.编译&安装
      • 7.2.7.启动Nginx
      • 7.2.8.测试
    • 7.3.方案二:yum安装【默认安装最新版】
      • 7.3.1.官方安装步骤
      • 7.3.2.安装yum-utils工具
      • 7.3.3.添加yum源文件
      • 7.3.4.查看是否安装成功
      • 7.3.5.使用yum进行安装
      • 7.3.6.查看nginx的安装位置
      • 7.3.7.启动测试
    • 7.4.卸载nginx
      • 7.4.1.步骤一:需要将nginx的进程关闭
      • 7.4.2.步骤二:将安装的nginx进行删除
      • 7.4.3.步骤三:将安装包之前编译的环境清除掉
  • 八、Nginx目录结构分析
    • 8.1.Nginx目录结构
    • 8.2.nginx所有配置文件目录
    • 8.3.nginx.conf
    • 8.4.Nginx基础配置文件nginx.conf 解读
  • 九、Nginx服务器版本升级和新增模块
    • 9.1.环境准备
      • 9.1.1.先准备两个版本的Nginx分别是 1.22.1和1.24.0
      • 9.1.2.使用Nginx源码安装的方式将1.22.1版本安装成功并正确访问
      • 9.1.3.将Nginx1.24.0进行参数配置和编译,不需要进行安装。
    • 9.2.方案一:使用Nginx服务信号进行升级
      • 9.2.1.将1.22.1版本的sbin目录下的nginx进行备份
      • 9.2.2.将Nginx1.24.0安装目录编译后的objs目录下的nginx文件,拷贝到原来`/usr/local/nginx/sbin`目录下
      • 9.2.3.发送信号USR2给Nginx的1.22.1版本对应的master进程
      • 9.2.4.发送信号QUIT给Nginx的1.22.1版本对应的master进程
    • 9.3.方案二:使用Nginx安装目录的make upgrade命令完成升级
      • 9.3.1.将1.22.1版本的sbin目录下的nginx进行备份
      • 9.3.2.将Nginx1.24.0安装目录编译后的objs目录下的nginx文件,拷贝到原来`/usr/local/nginx/sbin`目录下
      • 9.3.3.进入到安装目录,执行`make upgrade`
      • 9.3.4.查看是否更新成功
  • 十、Nginx安装成系统服务
    • 10.1.创建脚本
    • 10.2.服务脚本内容
    • 10.3.进行权限设置
    • 10.4.开机启动
  • endl

六、Nginx环境准备

6.1.Nginx版本

Nginx的官方网站为: http://nginx.org
Nginx的官方下载网站为http://nginx.org/en/download.html
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2.获取Nginx源码

http://nginx.org/download/

打开上述网站,就可以查看到Nginx的所有版本,选中自己需要的版本进行下载。

在这里插入图片描述

6.3.准备服务器系统

6.3.1.环境准备

FinalShell SSH工具官网:http://www.hostbuf.com/
FinalShell SSH工具官网下载:http://www.hostbuf.com/t/988.html
Centos官网:https://www.centos.org/download/
MobaXterm官网:https://mobaxterm.mobatek.net/
MobaXterm官网下载:https://mobaxterm.mobatek.net/download.html

6.3.2.确认centos的内核

准备一个内核为2.6及以上版本的操作系统,因为linux2.6及以上内核才支持epoll,而Nginx需要解决高并发压力问题是需要用到epoll

# 查询linux的内核版本
uname -a

  • 1
  • 2
  • 3

在这里插入图片描述

6.3.3.确保centos能联网
ping www.baidu.com

  • 1
  • 2

在这里插入图片描述
在这里插入图片描述

6.3.4.确认关闭防火墙

关闭的方式有如下两种:

# 关闭运行的防火墙,系统重新启动后,防火墙将重新打开
systemctl stop firewalld

# 永久关闭防火墙,,系统重新启动后,防火墙依然关闭 
systemctl disable firewalld

# 查看防火墙状态 
systemctl status firewalld

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

6.3.5.确认停用selinux

selinux(security-enhanced linux),美国安全局对于强制访问控制的实现,在linux2.6内核以后的版本中,selinux已经成功内核中的一部分。可以说selinux是linux史上最杰出的新安全子系统之一。虽然有了selinux,我们的系统会更安全,但是对于我们的学习Nginx的历程中,会多很多设置,所以这块建议大家将selinux进行关闭。

# 查看状态
sestatus

  • 1
  • 2
  • 3

在这里插入图片描述

如果查看不是disabled状态,我们可以通过修改配置文件来进行设置,修改SELINUX=disabled,然后重启下系统即可生效。

vim /etc/selinux/config

# 重启系统
reboot

  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

七、Nginx安装方式【源码安装和yum安装】

7.1.Nginx源码安装需要提前准备

7.1.1.GCC编译器

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

# 安装gcc
yum install -y gcc

# 查看gcc是否安装成功
gcc --version

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
7.1.2.PCRE

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

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

rpm -qa pcre pcre-devel

  • 1
  • 2
  • 3
  • 4
  • 5
7.1.3.zlib

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

yum install -y zlib zlib-devel

rpm -qa zlib zlib-devel

  • 1
  • 2
  • 3
  • 4
7.1.4.OpenSSL
  • OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包进行安全通信,并且避免被窃听。

  • SSL:Secure Sockets Layer安全套接协议的缩写,可以在Internet上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性。-

  • 在Nginx中,如果服务器需要提供安全网页时就需要用到OpenSSL库,所以我们需要对OpenSSL的库文件及它的开发安装包进行一个安装。

yum install -y openssl openssl-devel

rpm -qa openssl openssl-devel

  • 1
  • 2
  • 3
  • 4

上述命令,一个个来的话比较麻烦,我们也可以通过一条命令来进行安装

# 一条命令来进行全部安装
yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

gcc --version

rpm -qa pcre pcre-devel zlib zlib-devel openssl openssl-devel

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
7.1.5.警告时缺少安装包

安装gcc
yum -y install gcc

checking for OS 
+ Linux 3.10.0-693.el7.x86_64 x86_64 checking for C compiler ... not found 

./configure: error: C compiler cc is not found

  • 1
  • 2
  • 3
  • 4
  • 5

安装perl库
yum install -y pcer-devl

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=<path> option. 

  • 1
  • 2
  • 3

安装zlib库
yum install -y zlib zlib-devel

./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module 
option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib=<path> option. 

  • 1
  • 2
  • 3
  • 4

7.2.方案一:Nginx的源码安装

7.2.1.进入官网查找需要下载版本的链接地址,然后使用wget命令进行下载
yum -y install wget

wget http://nginx.org/download/nginx-1.24.0.tar.gz

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
在这里插入图片描述

7.2.2.将下载的资源进行包管理
mkdir -p /app/nginx/core

mv nginx-1.24.0.tar.gz /app/nginx/core

  • 1
  • 2
  • 3
  • 4
7.2.3.解压缩
cd /app/nginx/core
tar -zxvf nginx-1.24.0.tar.gz

  • 1
  • 2
  • 3
7.2.4.进入资源文件中,发现configure
cd /app/nginx/core/nginx-1.24.0

  • 1
  • 2

在这里插入图片描述

7.2.5.指定编译参数,编译Nginx复杂安装
./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--modules-path=/usr/local/nginx/modules \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--lock-path=/usr/local/nginx/logs/nginx.lock \
--with-http_gzip_static_module \
--with-http_ssl_module \
--with-stream

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
7.2.6.编译&安装
make & make install

  • 1
  • 2

在这里插入图片描述

7.2.7.启动Nginx

进入安装好的目录 /usr/local/nginx/sbin

cd /usr/local/nginx/sbin

./nginx -V 查看版本详细信息
./nginx 启动
./nginx -s stop 快速停止
./nginx -s quit 优雅关闭,在退出前完成已经接受的连接请求
./nginx -s reload 重新加载配置

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
在这里插入图片描述

7.2.8.测试

在这里插入图片描述

7.3.方案二:yum安装【默认安装最新版】

官网:http://nginx.org/en/docs/install.html
RHEL and derivatives:http://nginx.org/en/linux_packages.html#RHEL

使用源码进行简单安装,我们会发现安装的过程比较繁琐,需要提前准备GCC编译器、PCRE兼容正则表达式库、zlib压缩库、OpenSSL安全通信的软件库包,然后才能进行Nginx的安装

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

7.3.1.官方安装步骤

RHEL and derivatives:http://nginx.org/en/linux_packages.html#RHEL

在这里插入图片描述
RHEL and derivatives
This section applies to Red Hat Enterprise Linux and its derivatives such as CentOS, Oracle Linux, Rocky Linux, AlmaLinux.

Install the prerequisites:

sudo yum install yum-utils

  • 1
  • 2

To set up the yum repository, create the file named /etc/yum.repos.d/nginx.repo with the following contents:

vim /etc/yum.repos.d/nginx.repo

  • 1
  • 2
[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
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

By default, the repository for stable nginx packages is used. If you would like to use mainline nginx packages, run the following command:

# 切换成主线版本,暂时不需要
sudo yum-config-manager --enable nginx-mainline

  • 1
  • 2
  • 3

To install nginx, run the following command:

sudo yum install nginx

  • 1
  • 2

When prompted to accept the GPG key, verify that the fingerprint matches 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62, and if so, accept it.

7.3.2.安装yum-utils工具
sudo yum install -y yum-utils

  • 1
  • 2
7.3.3.添加yum源文件
vim /etc/yum.repos.d/nginx.repo

  • 1
  • 2
[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
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述

7.3.4.查看是否安装成功
yum list | grep nginx

  • 1
  • 2

在这里插入图片描述

7.3.5.使用yum进行安装
yum -y install nginx

  • 1
  • 2

在这里插入图片描述

7.3.6.查看nginx的安装位置
whereis nginx

  • 1
  • 2

在这里插入图片描述

7.3.7.启动测试
cd /usr/sbin

./nginx

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
在这里插入图片描述

7.4.卸载nginx

7.4.1.步骤一:需要将nginx的进程关闭
# 先看下nginx是否在运行中
ps  aux | grep nginx

# 如果在运行中,则停止
./nginx -s stop 或者直接杀死进程  pkill  nginx或  kill -9  进程号

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
7.4.2.步骤二:将安装的nginx进行删除
cd ~

# 找到所有nginx有关文件
find / -name nginx*

# 删除有关nginx的文件(linux中一切都文件)
rm -rf /usr/local/nginx

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
7.4.3.步骤三:将安装包之前编译的环境清除掉
cd /app/nginx/core/nginx-1.24.0
make clean

# 卸载nginx的有关依赖
yum  remove  nginx

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

八、Nginx目录结构分析

8.1.Nginx目录结构

# 安装tree工具展示目录结构
yum -y install tree

# 查看centos系统上的文件目录结构
tree /usr/local/nginx

# 显示所有文件和目录
tree /usr/local/nginx -a

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

8.2.nginx所有配置文件目录

[root@192 sbin]# tree /usr/local/nginx
/usr/local/nginx
├── client_body_temp
├── conf # 用来存放配置文件相关的
│   ├── fastcgi.conf # fastcgi相关配置文件
│   ├── fastcgi.conf.default # fastcgi.conf的备份文件

│   ├── fastcgi_params # fastcgi的参数文件
│   ├── fastcgi_params.default # fastcgi的参数备份文件

│   ├── koi-utf 
│   ├── koi-win

│   ├── mime.types # 媒体类型,记录的是HTTP协议中的Content-Type的值和文件后缀名的对应关系
│   ├── mime.types.default # mime.types的备份文件
│   ├── nginx.conf # 这个是Nginx的核心配置文件
│   ├── nginx.conf.default # nginx.conf的备份文件

│   ├── scgi_params # scgi的参数文件
│   ├── scgi_params.default # scgi的参数备份文件
│   ├── uwsgi_params # uwsgi的参数文件
│   ├── uwsgi_params.default # uwsgi的参数备份文件

│   └── win-utf # koi-utf、koi-win、win-utf这三个文件都是与编码转换映射相关的配置文件,用来将一种编码转换成另一种编码

├── fastcgi_temp
├── html # 存放nginx自带的两个静态的html页面
│   ├── 50x.html # 访问失败后的失败页面
│   └── index.html # 成功访问的默认首页
├── logs # 记录入门的文件,当nginx服务器启动后,这里面会有 access.log error.log 和nginx.pid三个文件出现
│   ├── access.log # 访问日志
│   ├── error.log # 错误日志
│   └── nginx.pid # nginx进程的PID
├── proxy_temp
├── sbin # nginx的主程序
│   └── nginx # nginx是用来控制Nginx的启动和停止等相关的命令
├── scgi_temp
└── uwsgi_temp

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
# 查看Nginx的PID
more /usr/local/nginx/logs/nginx.pid

# 查看日志
tail -f /usr/local/nginx/logs/access.log

tail -f /usr/local/nginx/logs/error.log

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

8.3.nginx.conf

Nginx的核心配置文件默认是放在/usr/local/nginx/conf/nginx.conf

vi /usr/local/nginx/conf/nginx.conf

  • 1
  • 2
worker_processes  1;

events { 
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server { 
        listen       80;
        server_name  localhost;
        
        location / { 
            root   html;
            index  index.html index.htm;
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

8.4.Nginx基础配置文件nginx.conf 解读

# 指令名	指令值;  #全局块,主要设置Nginx服务器整体运行的配置指令
worker_processes  1;  # 默认为1,表示开启一个业务进程

# events块,主要设置,Nginx服务器与用户的网络连接,这一部分对Nginx服务器的性能影响较大
events { # 事件驱动模块
	accept_mutex on; #设置Nginx网络连接序列化,防止多个进程对连接的争抢
	multi_accept on; #设置Nginx的worker进程是否可以同时接收多个网络请求
	worker_connections 1024; # 设置Nginx单个worker进程最大的连接数
	use epoll; #设置Nginx使用的事件驱动模型,使用epoll函数来优化Ngin
}

# http块,是Nginx服务器配置中的重要部分,代理、缓存、日志记录、第三方模块配置...  
http {
    include       mime.types; # 引入http mime类型
    default_type  application/octet-stream; # 如果mime类型没有匹配上,默认使用二进制流的方式传输
    sendfile        on; # 使用limux的sendfile(socket,file,len)高效网络传输,也就是数据0拷贝
    tcp_nopush      on; # 主要是用来提升网络包的传输效率
    tcp_nodelay     on; # 提高网络包传输的实时性
    keepalive_timeout  65;
    
    include nginx_gzip.conf;

	# server块,是Nginx配置和虚拟主机vhost相关的内容
    server { # 虚拟主机配置
        listen       80; # 监听端口号80
        server_name  localhost; # 域名、主机名
        #  location块,基于Nginx服务器接收请求字符串与location后面的值进行匹配,对特定请求进行处理
        location / { # 匹配路径
            root   html; # 文件根目录
            index  index.html index.htm; # 默认页名称
        }
        error_page   500 502 503 504  /50x.html; # 报编码错误对应页面
        location = /50x.html {
            root   html;
        }
    }

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

nginx_gzip.conf

# Gzip压缩功能的实例配置
gzip on;  			  #开启gzip功能
gzip_types *;		  #压缩源文件类型,根据具体的访问资源类型设定
gzip_comp_level 6;	  #gzip压缩级别
gzip_min_length 1024; #进行压缩响应页面的最小长度,content-length
gzip_buffers 4 16K;	  #缓存空间大小
gzip_http_version 1.1; #指定压缩响应所需要的最低HTTP请求版本
gzip_vary  on;		  #往头信息中添加压缩标识
gzip_disable "MSIE [1-6]\."; #对IE6以下的版本都不进行压缩
gzip_proxied  off; #nginx作为反向代理压缩服务端返回数据的条件

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
gzip on;
gzip_types *;
gzip_comp_level 6;
gzip_min_length 1024;
gzip_buffers 4 16K;
gzip_http_version 1.1;
gzip_vary  on;
gzip_disable "MSIE [1-6]\.";
gzip_proxied  off;

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

九、Nginx服务器版本升级和新增模块

需求:Nginx的版本最开始使用的是nginx-1.22.1,由于服务升级,需要将Nginx的版本升级到nginx-1.24.0,要求Nginx不能中断提供服务。

  • 1
  • 2

为了应对上述的需求,这里我们给大家提供两种解决方案:

方案一:使用Nginx服务信号完成Nginx的升级

方案二:使用Nginx安装目录的make命令完成升级

9.1.环境准备

9.1.1.先准备两个版本的Nginx分别是 1.22.1和1.24.0

在这里插入图片描述

9.1.2.使用Nginx源码安装的方式将1.22.1版本安装成功并正确访问
# 进入安装目录,指定编译参数,按照自己需求
./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--modules-path=/usr/local/nginx/modules \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--lock-path=/usr/local/nginx/logs/nginx.lock \
--with-http_gzip_static_module \
--with-http_ssl_module \
--with-stream

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
make && make install

  • 1
  • 2

在这里插入图片描述

在这里插入图片描述

9.1.3.将Nginx1.24.0进行参数配置和编译,不需要进行安装。
# 进入安装目录,指定编译参数,按照自己需求
./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--modules-path=/usr/local/nginx/modules \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--lock-path=/usr/local/nginx/logs/nginx.lock \
--with-http_gzip_static_module \
--with-http_ssl_module \
--with-stream

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
# 不需要进行安装,直接make
make

  • 1
  • 2
  • 3

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.2.方案一:使用Nginx服务信号进行升级

9.2.1.将1.22.1版本的sbin目录下的nginx进行备份
cd /usr/local/nginx/sbin

mv nginx nginxold

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

9.2.2.将Nginx1.24.0安装目录编译后的objs目录下的nginx文件,拷贝到原来/usr/local/nginx/sbin目录下
cd /nginx/core/nginx-1.24.0/objs

cp nginx /usr/local/nginx/sbin

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

9.2.3.发送信号USR2给Nginx的1.22.1版本对应的master进程
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

  • 1
  • 2

在这里插入图片描述

9.2.4.发送信号QUIT给Nginx的1.22.1版本对应的master进程
kill -QUIT `more /usr/local/logs/nginx.pid.oldbin`

  • 1
  • 2

在这里插入图片描述

9.3.方案二:使用Nginx安装目录的make upgrade命令完成升级

9.3.1.将1.22.1版本的sbin目录下的nginx进行备份
cd /usr/local/nginx/sbin

mv nginx nginxold

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

9.3.2.将Nginx1.24.0安装目录编译后的objs目录下的nginx文件,拷贝到原来/usr/local/nginx/sbin目录下
cd /nginx/core/nginx-1.24.0/objs

cp nginx /usr/local/nginx/sbin

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

9.3.3.进入到安装目录,执行make upgrade
make upgrade

  • 1
  • 2

在这里插入图片描述

9.3.4.查看是否更新成功
cd /usr/local/nginx/sbin

./nginx -v

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

十、Nginx安装成系统服务

10.1.创建脚本

vi /usr/lib/systemd/system/nginx.service

  • 1
  • 2

10.2.服务脚本内容

[Unit]
Description=nginx web service
Documentation=http://nginx.org/en/docs/
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=default.target

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式ExecStartpre是检查配置文件
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

10.3.进行权限设置

chmod 755 /usr/lib/systemd/system/nginx.service

  • 1
  • 2

10.4.开机启动

# 重新加载系统服务
systemctl daemon-reload

# 启动服务
systemctl start nginx

#停止
systemctl stop nginx

#重启
systemctl restart nginx

#重新加载配置文件
systemctl reload nginx

# 查看nginx状态
systemctl status nginx

# 开机启动
systemctl enable nginx.service

# 查看nginx是否启动
ps -ef | grep nginx

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/151033
推荐阅读
相关标签