Nginx02_安装

Nginx版本介绍

Nginx的官方网站为: http://nginx.org

打开源码可以看到如下的页面内容

Nginx的官方下载网站为http://nginx.org/en/download.html,当然你也可以之间在首页选中右边的download进入版本下载网页。在下载页面我们会看到如下内容:

获取源码

http://nginx.org/download/

打开上述网站,就可以查看到Nginx的所有版本,选中自己需要的版本进行下载。下载我们可以直接在windows上下载然后上传到服务器,也可以直接从服务器上下载,这个时候就需要准备一台服务器。

服务器准备

https://www.cnblogs.com/yaowy001/p/15863706.html

关闭防火墙

systemctl stop firewalld      关闭运行的防火墙,系统重新启动后,防火墙将重新打开
systemctl disable firewalld   永久关闭防火墙,,系统重新启动后,防火墙依然关闭
systemctl status firewalld	 查看防火墙状态

确认停用selinux

vim /etc/selinux/config

Nginx安装方式介绍

  1. 通过Nginx源码安装。

源码简单安装
源码复杂安装

  1. 通过yum安装

源码安装准备

GCC编译器

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

使用命令yum install -y gcc来安装

安装成功后,可以通过gcc --version来查看gcc是否安装成功

PCRE

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

可以使用命令yum install -y pcre pcre-devel来进行安装

安装成功后,可以通过rpm -qa pcre pcre-devel来查看是否安装成功

zlib

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

可以使用命令yum install -y zlib zlib-devel来进行安装

安装成功后,可以通过rpm -qa zlib zlib-devel来查看是否安装成功

OpenSSL

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

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

可以使用命令yum install -y openssl openssl-devel来进行安装

安装成功后,可以通过rpm -qa openssl openssl-devel来查看是否安装成功

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

yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel进行全部安装。

源码简单安装

(1)进入官网查找需要下载版本的链接地址,然后使用wget命令进行下载

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

(2)建议大家将下载的资源进行包管理

mkdir -p nginx/core
mv nginx-1.20.2.tar.gz nginx/core

(3)解压缩

tar -xzf nginx-1.20.2.tar.gz

(4)进入资源文件中,发现configure

./configure

(5)编译

make

(6)安装

make install

没有报错就说明安装成功了

执行/usr/local/nginx/sbin/nginx,然后在浏览器输入虚拟机的ip,只输入ip就够了,nginx默认监听80端口,浏览器也是默认向80端口发送请求,如果可以看到以下画面,说明安装成功。

执行/usr/local/nginx/sbin/nginx -V,截图如下:

源码安装方式的卸载

关闭nginx进程

/usr/local/nginx/sbin/nginx -s stop

将安装的nginx进行删除

rm -rf /usr/local/nginx

步骤三:将安装包之前编译的环境清除掉

make clean

yum安装

前面我们已经运行了安装好的nginx,如果想在同一台机子上用yum安装nginx,需要先卸载。当然也可以选择克隆一台机子,采用yum方式安装都行。

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

(1)安装yum-utils

yum  install -y yum-utils

(2)添加yum源文件

vi /etc/yum.repos.d/nginx.repo
[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

(3)查看是否安装成功

yum list | grep nginx

(4)使用yum进行安装

yum install -y nginx

(5)查看nginx的安装位置

whereis nginx

(6)启动测试

因为是yum安装的直接输入nginx就可以启动nginx服务,然后再地址栏输入虚拟机ip,如果出现:

yum安装成功。

简单源码安装与yum安装的差异

先看之前的简单源码安装信息:

此时我们是yum安装的,执行nginx -V查看yum安装的信息

可以看到yum安装的多了许多信息,这些信息是yum安装nginx时添加的一些配置参数。

nginx源码文件下的目录结构

下面给这些目录做个解释:


目录 解释
auto 存放的是编译相关的脚本
CHANGES 版本变更记录
CHANGES.ru 俄罗斯文的版本变更记录
conf nginx默认的配置文件
configure nginx软件的自动脚本程序,是一个比较重要的文件,作用如下:
检测环境及根据环境检测结果生成C代码
生成编译代码需要的Makefile文件
contrib 存放的是几个特殊的脚本文件,其中README中对脚本有着详细的说明
html 存放的是Nginx自带的两个html页面,访问Nginx的首页和错误页面
LICENSE 许可证的相关描述文件
man nginx的man手册
README Nginx的阅读指南
src Nginx的源代码

复杂源码安装

这种方式和简单的安装配置不同的地方在第一步,通过./configure来对编译参数进行设置,需要我们手动来指定。那么都有哪些参数可以进行设置,接下来我们进行一个详细的说明。

PATH:是和路径相关的配置信息
with:是启动模块,默认是关闭的
without:是关闭模块,默认是开启的

参数名 含义
--prefix=PATH 指向Nginx的安装目录,默认值为/usr/local/nginx
--sbin-path=PATH 指向(执行)程序文件(nginx)的路径,默认值为/sbin/nginx
--modules-path=PATH 指向Nginx动态模块安装目录,默认值为/modules
--conf-path=PATH 指向配置文件(nginx.conf)的路径,默认值为/conf/nginx.conf
--error-log-path=PATH 指向错误日志文件的路径,默认值为/logs/error.log
--http-log-path=PATH 指向访问日志文件的路径,默认值为/logs/access.log
--pid-path=PATH 指向Nginx启动后进行ID的文件路径,默认值为/logs/nginx.pid
--lock-path=PATH 指向Nginx锁文件的存放路径,默认值为/logs/nginx.lock

接下来我们通过这些配置完成编译安装

首先卸载yum安装的nginx

# 停止nginx
[root@localhost nginx-1.20.2]# nginx -s stop
# 删除nginx自启动
[root@localhost nginx-1.20.2]# chkconfig nginx off
注意:正在将请求转发到“systemctl disable nginx.service”。
# 查询yum安装nginx有哪些文件
[root@localhost nginx-1.20.2]# whereis nginx
nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz
# 依次删除这些文件
[root@localhost nginx-1.20.2]# rm -rf /usr/sbin/nginx
[root@localhost nginx-1.20.2]# rm -rf /usr/lib64/nginx
[root@localhost nginx-1.20.2]# rm -rf /etc/nginx
[root@localhost nginx-1.20.2]# rm -rf /usr/share/nginx
[root@localhost nginx-1.20.2]# rm -rf /usr/share/man/man8/nginx.8.gz
# yum一处nginx
[root@localhost nginx-1.20.2]# yum remove nginx

开始安装,进入我们手动下载并解压的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

# 编译与安装
make && make install

# 进入/usr/local/nginx/sbin
cd /usr/local/nginx/sbin
# 启动nginx
./nginx

浏览器输入虚拟机ip,如果看到了nginx的欢迎页面则说明安装成功。

查看源码复杂安装的版本信息

执行/usr/local/nginx/sbin/nginx -V,可以看到如下信息:

这些就是我们编译之前指定的参数。

至此nginx源码复杂安装完成。其实源码安装更爽一点我觉的,按照本博客来,也不算麻烦吧。

posted @   yaowy  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示