前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx环境准备与安装

Nginx环境准备与安装

原创
作者头像
会洗碗的CV工程师
发布2024-06-09 10:46:28
1450
发布2024-06-09 10:46:28
举报
文章被收录于专栏:Nginx

1. 准备工作

  • 安装依赖库:Nginx在编译过程中可能需要一些依赖库,如GCC编译器、PCRE库、zlib库和OpenSSL库等。这些库提供了Nginx所需的编译工具、正则表达式支持、压缩算法和安全通信等功能。
    • GCC编译器:使用yum install -y gcc命令进行安装。
    • PCRE库:使用yum install -y pcre pcre-devel命令进行安装。
    • zlib库:使用yum install -y zlib zlib-devel命令进行安装。
    • OpenSSL库:使用yum install -y openssl openssl-devel命令进行安装。

2. 下载Nginx源码

3. 解压源码包

  • 将下载的Nginx源码包上传到服务器,并使用tar -zxvf nginx-x.x.x.tar.gz命令解压(其中x.x.x是版本号)。

4. 编译和安装Nginx

  • 进入Nginx源码目录,执行./configure命令进行配置。可以根据需要添加编译参数,如指定安装目录、启用或禁用某些模块等。
  • 如果在configure过程中遇到错误,根据错误提示安装相应的依赖库。
  • 执行make命令进行编译。
  • 执行make install命令进行安装。安装完成后,Nginx将被安装到指定的目录(默认为/usr/local/nginx)。

接下来每个环节来细说一下:

学习环境

操作系统:Centos7.5 X64

四项确认

  1. 确认网络
  2. 确认yum可用
  3. 确认防火墙
  4. 确认SELinux

一项安装

代码语言:javascript
复制
1yum -y install gcc make automake pcre-devel zlib zlib-devel openssl openssl-devel

参数:

  • gcc:编译依赖gcc环境
  • pcre:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 Perl 兼容的正则表达式库。
  • zlib:zlib库提供了很多种压缩和解压缩的方式,Nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
  • Openssl:OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

下载Nginx源码

官网下载Nginx软件http://Nginx.org

image-20211108162417355
image-20211108162417355

点击download进入下载页面

image-20211108162525468
image-20211108162525468

Nginx 官方提供了三个类型的版本:

Mainline Version:主线版,是最新版,但未经过过多的生产测试。

Stable Version:稳定版,生产环境使用版本。

Legacy Version:老版本。

注意: 我们需要下载的是 Stable Version。其中又分为两种版本:Linux 版与 Windows 版。开发时这两个版本我们都下载。Linux 版用于生产环境,而 Windows 版用于开发测试,选择需要的版本进行下载。

Nginx源码编译

1.创建存放源文件的文件夹

首先在目录/opt下创建apps目录,用于存放源文件以及解压后的文件

2.上传Nginx到步骤1创建的目录下

代码语言:txt
复制
cd /opts/apps
wget https://nginx.org/download/nginx-1.20.2.tar.gz

3.解压 Nginx

代码语言:txt
复制
tar -zxvf nginx-1.20.2 -C /uar/local

进入到 Nginx 解压包目录/usr/local/Nginx-1.20.1 目录中,查看 Nginx 的目录。

其中各个目录中存放的文件作用为:

auto:存放 Nginx 自动安装的相关文件 conf:存放 Nginx 服务器配置文件 configure:命令,用于对即将安装的软件的配置,完成 makefile 编译文件的生成 contrib:存放由其他机构贡献的文档材料 html:存放 Nginx 欢迎页面 man:manual,手册,存放 Nginx 帮助文档 src:存放 Nginx 源码

4.生成 makefile

在 Nginx 解压目录下运行 make 命令,用于完成编译。但此时会给出提示:没有指定目标,并且没有发现编译文件 makefile。

代码语言:javascript
复制
[root@node1 Nginx-1.20.1]# make
make: *** 没有指明目标并且找不到 makefile。 停止。

编译命令 make 需要根据编译文件 makefile 进行编译,所以在编译之前需要先生成编译文件 makefile。使用 configure 命令可以生成该文件。那么,configure 命令需要配置些什么参数呢?使用--help 可以查看到可以使用的参数说明。

configure 参数: --prefix:Nginx 安装目录。注意,安装目录与解压目录不一样 --sbin-path:Nginx 命令文件 --modules-path:Nginx 模块存放路径 --conf-prefix:Nginx 配置文件存放路径 --pid-path:Nginx 的进程 id 文件 --error-log-path:错误日志文件 --http-log-path:http访问日志文件

安装编译参数

编译选项

作用

--prefix=/etc/Nginx

主目录

--sbin-path=/usr/sbin/Nginx

执行命令

--modules-path=/usr/lib64/Nginx/modules

Nginx模块

--conf-path=/etc/Nginx/Nginx.conf

Nginx配置文件

--error-log-path=/var/log/Nginx/error.log

错误日志

--http-log-path=/var/log/Nginx/access.log

访问日志

--pid-path=/var/run/Nginx.pid

Nginx启动的pid

--lock-path=/var/run/Nginx.lock

Nginx的锁

--http-client-body-temp-path=/var/cache/Nginx/client_temp

执行对应模块时,Nginx锁保留的临时性文件

--http-proxy-temp-path=/var/cache/Nginx/proxy_temp

--http-fastcgi-temp-path=/var/cache/Nginx/fastcgi_temp

--http-uwsgi-temp-path=/var/cache/Nginx/uwsgi_temp

--http-scgi-temp-path=/var/cache/Nginx/scgi_temp

--user=Nginx

设定Nginx进程启动的用户

--group=Nginx

设定Nginx进程启动的用户组

--with-cc-opt=parameters

设置额外的参数将被添加到CFLAGS变量

--with-ld-opt=parameters

设置附加的参数,连接系统库

5.配置参数

代码语言:javascript
复制
[root@node1 Nginx-1.20.1]# mkdir -p /var/temp/nginx/client
[root@node1 Nginx-1.20.1]# ./configure \
--prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--with-http_ssl_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi

注意: /var/temp/Nginx/client目录需要手动创建。

编译安装

代码语言:javascript
复制
make&&make install

这是两个命令,make 为编译命令,make install 为安装命令,可以分别执行。这里使用&&将两个命令连接执行,会在前面命令执行成功的前提下才会执行第二个命令。

然后进入到/usr/local/nginx下面观察是否有四个目录:

OK,安装成功

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 准备工作
  • 2. 下载Nginx源码
  • 3. 解压源码包
  • 4. 编译和安装Nginx
  • 学习环境
  • 四项确认
  • 一项安装
  • 下载Nginx源码
  • Nginx源码编译
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档