当前位置: 首页 > article >正文

CentOS 7 编译安装 Nginx

CentOS 7 编译安装 Nginx

    • 背景
    • 下载 Nginx 源码包
    • 安装依赖包
    • 编译
    • 添加环境变量
    • 添加守护
    • 查考文献

背景

一开始使用 docker 搭建了一个 web 服务器,但是由于 docker 不太方便的部署 TLS 证书,故使用 Nginx 做反向代理,实现 https 连接。

下载 Nginx 源码包

Nginx 主要提供两个版本,分别为:Mainline version 与 Stable version,前面是主线版本,有新的特性会在此版本中体现,但是 BUG 的出现的可能性也会比 稳定版本高,故以下使用写这篇博客下最新的稳定版作为演示。
image.png

由红框中指出的是 Linux 下,应该下载的源码包,获取它的下载链接。
然后在服务器上先进入系统的源代码存放处,在下载源码包,解压并进入:

cd /usr/local/src
curl -LO https://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.20.2

安装依赖包

  1. 安装编译环境
yum -y install gcc gcc-c++

  1. 如果要使用 rewrite、ssl 与 gzip 功能,则需要 pcre、openssl、zlib 依赖包
yum -y install pcre pcre-devel openssl openssl-devel zlib zlib-devel

编译

./configure --prefix=/usr/local/nginx \
	--with-http_ssl_module \
	--with-http_v2_module \
	--with-http_realip_module

命令解释

配置选项功能
-prefix指定安装路径
–with-http_ssl_module支持 HTTPS 协议
–with-http_v2_module支持 HTTP/2
–with-http_realip_module从指定请求头获取客户端 IP 地址

执行完上面的命令后,可以开始进行正式的编译了

make && make install

如果你的服务器配置较高,可以使用多线程编译 在 make 后添加 -j3 参数

make -j3 && make install

添加环境变量

如果使用 bash shell,则使用以下命令:

echo 'export PATH="/usr/local/nginx/sbin:$PATH"' >> ~/.bashrc
source ~/.bashrc

如果使用 zsh shell,则使用:

echo 'export PATH="/usr/local/nginx/sbin:$PATH"' >> ~/.zshrc
source ~/.zshrc

添加守护

使用 vim 在 /etc/systemd/system/ 文件夹下,添加 nginx.service。vim /etc/systemd/system/nginx.service
然后将如下所示的内容复制粘贴到该文件中并保存(vim 编辑器先按 ESC 再输入 :wq):

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID

[Install]
WantedBy=multi-user.target

运行以下命令,将 systemd 重新读取新的配置内容

systemctl daemon-reload

以下命令,都是用来管理 Nginx 服务的:
随系统启动服务

systemctl enable nginx

启动 Nginx

systemctl start nginx

停止 Nginx

systemctl stop nginx

重载 Nginx

systemctl reload nginx

查考文献

[1] OSFERE. (2022.2.2). 如何在 CentOS 上编译安装及配置最新版 Nginx. Tech Trends. Retrieved from https://osfere.com/linux/how-to-build-install-and-configure-latest-nginx-on-centos


http://www.kler.cn/a/273655.html

相关文章:

  • Win10本地部署大语言模型ChatGLM2-6B
  • gesp(C++四级)(11)洛谷:B4005:[GESP202406 四级] 黑白方块
  • 提升 PHP 编码效率的 10 个实用函数
  • 微信小程序实现登录注册
  • mybatisX插件的使用,以及打包成配置
  • Three.js教程015:全面讲解Three.js的UV与应用
  • spring-boot-starter-thymeleaf加载外部html文件
  • 什么是通用人工智能(AGI)?
  • Vim替换时区分大小写
  • 解决爬虫特殊解码的问题
  • 二叉树遍历(牛客网)
  • Apache Doris 2.1 核心特性 Variant 数据类型技术深度解析
  • 王老吉药业开拓数字经济“新蓝海”,成立数字经济研究所,科技赋能新品压片糖
  • 华为机试题-最小矩阵
  • RPM与DNF的操作实践
  • Dubbo是什么?请简要描述其主要功能。Dubbo的架构是怎样的?请解释其核心组件及其作用。
  • 微服务篇-C 深入理解第一代微服务(SpringCloud)_IV 深入理解Hystrix断路器
  • 华为OD机试真题实战应用【赛题代码篇】-素数伴侣(附Java、C++和python代码实现)
  • [小程序开发] 外部样式类
  • Java安装及环境配置详细教程
  • 2024年敏捷产品负责人CSPO认证培训
  • 深度学习实战模拟——softmax回归(图像识别并分类)
  • Java进阶 Maven基础
  • H5页面兼容offsetTop
  • uniapp+vue3+setup语法糖开发微信小程序时不能定义globalData的解决方法
  • vue3 计算属性(computed)和监听属性(watch)的异同