Lake's Blog Lake's Blog
首页
HCFrame
  • 博客搭建

    • 搜索引擎
    • SEO优化
    • 问题记录
  • Vue

    • 问题记录
  • uni-app
  • 开发

    • Spring
  • 数据库及中间件

    • Elasticsearch
    • SQL
  • 杂谈

    • 杂谈
  • 微服务

    • nacos
    • CAS
  • 算法说明

    • algorithm
  • leetCode

    • leetCode
  • 代理

    • Nginx
  • Linux

    • ubuntu
  • Docker
  • 数据库
  • 消息队列
  • openwrt
  • 友情链接
关于
  • 网站
  • 资源
  • 分类
  • 标签
  • 归档
GitHub

Lake Liu

很菜的程序员
首页
HCFrame
  • 博客搭建

    • 搜索引擎
    • SEO优化
    • 问题记录
  • Vue

    • 问题记录
  • uni-app
  • 开发

    • Spring
  • 数据库及中间件

    • Elasticsearch
    • SQL
  • 杂谈

    • 杂谈
  • 微服务

    • nacos
    • CAS
  • 算法说明

    • algorithm
  • leetCode

    • leetCode
  • 代理

    • Nginx
  • Linux

    • ubuntu
  • Docker
  • 数据库
  • 消息队列
  • openwrt
  • 友情链接
关于
  • 网站
  • 资源
  • 分类
  • 标签
  • 归档
GitHub
  • 代理

    • Nginx

      • 学习Nginx,你一定要知道这些
      • Linux编译安装Nginx1.16.1稳定版
        • 一、安装依赖及环境
          • 快捷安装
          • 分步骤安装
        • 二、下载Nginx源码
        • 三、编译源代码
        • 四、安装Nginx
        • 五、查看nginx的版本信息
        • 六、更新nginx,这一步是为装过nginx更新bin文件用的,安装的话忽略
        • 七、配置开机自启动
        • 八、配置nginx环境变量
        • 参考文章
      • Linux下Nginx1.16.1平滑升级至1.18.0及升级失败如何退回
      • 快速配置Nginx反向代理HTTP协议
      • 快速配置Nginx转发TCP和UDP协议
  • linux

  • Docker

  • 数据库

  • 消息队列

Linux编译安装Nginx1.16.1稳定版

# Linux编译安装Nginx1.16.1稳定版

前置条件

本文采用centOS 7.8.2003 版本

通过编译的方式安装

如何安装Nginx 1.16.1稳定版

# 一、安装依赖及环境

注意

快捷安装和分步骤安装的目的是一样的

挑选一个方式安装即可

# 快捷安装

yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
1

image-20210113154135828

# 分步骤安装

  1. 安装gcc环境
yum install gcc gcc-c++
1
  1. 安装PCRE库,用于解析正则表达式
yum install -y pcre pcre-devel
1
  1. zlib压缩和解压缩依赖
yum install -y zlib zlib-devel
1
  1. SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https
yum install -y openssl openssl-devel
1

# 二、下载Nginx源码

切换到/usr/local/src目录下,下载源代码解压

cd /usr/local/src
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar -zxvf nginx-1.16.1.tar.gz
1
2
3

提示

若提示 -bash: wget: 未找到命令

则需要执行下面的命令后

yum install wget
1

重新通过 wget 下载,解压

# 三、编译源代码

  1. 进入解压好的文件夹
cd /usr/local/src/nginx-1.16.1
1
  1. 编译源码
  • 可执行版:
./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-stream
1
2
3
4
5
  • 注释版:
./configure \
--prefix=/usr/local/nginx \ # 指定编译文件夹
--with-http_stub_status_module \ # nginx监控模块
--with-http_ssl_module \ # nginx ssl模块,可配置证书等
--with-stream # nginx stream模块,配置stream,upstream反向代理必须的模块
1
2
3
4
5
  • 执行结果:

image-20210113161344687

注意

编译报错的解决办法,没有报错直接跳过

  1. 报错:./configure: error: the HTTP rewrite module requires the PCRE library. 问题原因:编译安装nginx需要pcre包,未安装的话会报错 解决办法: yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
  2. 报错:File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: 问题原因:yum采用python作为命令解释器,原来系统自带的python解释器为python2.7,系统默认的解释器为python3.7 解决办法: vim /usr/bin/yum 修改第一行为:#!/usr/bin/python2.7 vi /usr/libexec/urlgrabber-ext-down 修改第一行为:#!/usr/bin/python2.7
  3. 报错:File "/bin/yum-config-manager", line 135 except yum.Errors.RepoError, e: 问题原因:yum采用python作为命令解释器,原来系统自带的python解释器为python2.7,系统默认的解释器为python3.7 解决办法: vim /bin/yum-config-manager 修改第一行为:#!/usr/bin/python2.7
  4. 报错:./configure: error: SSL modules require the OpenSSL library. 问题原因: 缺少SSL库 解决办法:yum -y install openssl openssl-devel

# 四、安装Nginx

  • 如果nginx已经安装了的话用指令
make
1
  • 如果没有安装或者已卸载的话
make && make install
1

# 五、查看nginx的版本信息

  • 查看编译后的nginx版本
/usr/local/src/nginx-1.16.1/objs/nginx -V
1

image-20210113162750948

  • 查看安装后的nginx版本
/usr/local/nginx/sbin/nginx -V
1

image-20210113162819411

# 六、更新nginx,这一步是为装过nginx更新bin文件用的,安装的话忽略

  • 复制新版nginx到安装路径处
cp objs/nginx /usr/local/nginx/sbin/
1
  • 复制bin文件后再核对下版本
/usr/local/nginx/sbin/nginx -V
1

# 七、配置开机自启动

vim /lib/systemd/system/nginx.service
1
  • 复制以下内容保存(按ESC后:wq保存退出)
[Unit]
Description=nginx service
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
11
12
13
  • 设置开机自启动
systemctl enable nginx
1

image-20210113163357570

  • 启动nginx
systemctl start nginx
1
  • 通过浏览器访问 http://ip:{ip}:ip:{端口号},例如我的是 http://192.168.4.125/,默认80端口可以不加端口号

    image-20210113164157098

  • 启动、查看状态、重启nginx,指令3件套

systemctl start nginx
systemctl status nginx
systemctl restart nginx
1
2
3

# 八、配置nginx环境变量

  • 一般修改配置后用 nginx -s reload 重启
nginx -s reload
1
  • 出现以下提示是没有配置环境变量

image-20210113163541860

  • 打开/etc/profile
vim /etc/profile
1
  • 在最后一行 追加下面2行配置(ESC :wq 保存退出)
PATH=$PATH:/usr/local/nginx/sbin
export PATH
1
2

使配置生效后,就可以用 nginx -s reload

source /etc/profile
1

image-20210113164342127

# 参考文章

CentOS安装nginx-1.16.1

centos 7 源码方式安装nginx(1.16.1) + ssl + 阿里证书配置

编辑
#nginx
上次更新: 2023/03/24, 08:53:10
学习Nginx,你一定要知道这些
Linux下Nginx1.16.1平滑升级至1.18.0及升级失败如何退回

← 学习Nginx,你一定要知道这些 Linux下Nginx1.16.1平滑升级至1.18.0及升级失败如何退回→

最近更新
01
IDEA行号太宽
03-11
02
uniapp中实现h5扫码功能(微信版)
08-12
03
Docker安装Rabbitmq
07-22
更多文章>
本站总访问量次 | 您是本站第位访问者
Theme by Vdoing | Copyright © 2020-2024 Lake Liu | MIT License | 背景图、Logo、头像设计@Drrizzee
  • 跟随系统
  • 深色模式
  • 浅色模式
  • 阅读模式