Linux下编译安装Nginx

以下是在Linux下编译安装Nginx的详细步骤:

一、安装依赖库

  1. 安装基本编译工具和库
    • 在Debian/Ubuntu系统中,使用以下命令安装:
      sudo apt -y update
      sudo apt -y install build - essential libpcre3 - dev zlib1g - dev libssl - dev
      
    • 在CentOS/RHEL系统中,执行以下命令:
      sudo yum -y install gcc - c++ pcre - devel zlib - devel openssl - devel
      
    • build - essential(Debian/Ubuntu)或gcc - c++(CentOS/RHEL)提供了编译Nginx所需的编译器。libpcre3 - dev(Debian/Ubuntu)或pcre - devel(CentOS/RHEL)用于支持正则表达式,Nginx使用它来处理URL匹配等功能。zlib1g - dev(Debian/Ubuntu)或zlib - devel(CentOS/RHEL)用于提供数据压缩功能,Nginx可以使用它来压缩传输的内容,节省网络带宽。libssl - dev(Debian/Ubuntu)或openssl - devel(CentOS/RHEL)用于支持SSL/TLS加密,使Nginx能够提供安全的https服务。

二、下载Nginx源代码

  1. 访问Nginx官方网站(https://nginx.org/),找到下载链接,通常可以使用wget命令从命令行下载。例如:
    • wget https://nginx.org/download/nginx - <version>.tar.gz
      
    • (将<version>替换为你想要下载的实际版本号,如nginx - 1.25.3.tar.gz
  2. 解压下载的文件,使用以下命令:
    • tar -zxvf nginx - <version>.tar.gz
      
    • 解压后会生成一个包含Nginx源代码的目录,如nginx - <version>

三、配置Nginx

  1. 进入解压后的Nginx源代码目录:
    • cd nginx - <version>
      
  2. 运行配置脚本,根据需求定制Nginx的功能。例如,如果要启用SSL模块、HTTP/2模块等,可以使用以下命令:
    ./configure --prefix=/usr/local/nginx --with - http_ssl_module --with - http_v2_module
    - `--prefix`选项指定Nginx的安装目录,这里是`/usr/local/nginx`。`--with - http_ssl_module`启用SSL模块,用于提供https服务。`--with - http_v2_module`启用HTTP/2模块,提升网络性能。你可以根据自己的需求添加或删除其他模块相关的配置选项。
    - 如果配置过程中出现缺少依赖等错误,需要根据错误提示解决问题后重新运行配置脚本。

四、编译和安装Nginx

  1. 编译Nginx,使用make命令:
    • make
      
    • 编译过程可能需要一些时间,具体取决于系统性能。
  2. 安装Nginx到指定目录,需要使用管理员权限(sudo):
    • sudo make install
      

五、验证安装

  1. 启动Nginx服务,在安装目录下的sbin子目录中有Nginx的可执行文件。例如,如果安装目录是/usr/local/nginx,则可以使用以下命令启动:

    • /usr/local/nginx/sbin/nginx
      
  2. 检查Nginx是否成功启动,可以在浏览器中访问服务器的IP地址(如果是本地测试,可以访问http://localhost)。如果看到Nginx的欢迎页面,说明安装成功。

  3. 还可以使用以下命令检查Nginx进程是否在运行:

    • ps -ef | grep nginx
      
    • 应该能看到Nginx的主进程和工作进程相关的信息。
  4. 如果需要停止Nginx服务,可以使用以下命令(在安装目录下的sbin子目录中):

    • /usr/local/nginx/sbin/nginx -s stop
      
    • 或者使用更优雅的方式来停止(等待正在处理的请求完成后再停止):
    • /usr/local/nginx/sbin/nginx -s quit
      

参考

  • nginx官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/60917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《基于深度学习的车辆行驶三维环境双目感知方法研究》

复原论文思路&#xff1a; 《基于深度学习的车辆行驶三维环境双目感知方法研究》 1、双目测距的原理 按照上述公式算的话&#xff0c;求d的话&#xff0c;只和xl-xr有关系&#xff0c;这样一来&#xff0c;是不是只要两张图像上一个测试点的像素位置确定&#xff0c;对应的深…

新手小白学习docker第八弹------实现MySQL主从复制搭建

目录 0 引言1 实操1.1 新建主服务器容器1.2 书写配置文件1.3 重启master实例1.4 进入mysql-master容器master容器实例内创建数据同步用户 1.5 新建从服务器容器1.6 书写配置文件1.7 重启slave实例1.8 查看主从同步状态1.9 进入mysql-slave容器1.9.1 配置主从复制1.9.2 查看主从…

微信小程序之路由跳转传数据及接收

跳转并传id或者对象 1.home/index.wxml <!--点击goto方法 将spu_id传过去--> <view class"item" bind:tap"goto" data-id"{{item.spu_id}}"> 结果: 2.home/index.js goto(event){// 路由跳转页面,并把id传传过去//获取商品idlet i…

emulator总结

什么是硬件仿真器 做IC设计的人应该都知道软件仿真和FPGA原型验证&#xff0c;可以把硬件仿真器理解为这二者之间的产物&#xff0c;它同时具备二者的优点。 软件仿真&#xff08;simulator&#xff09;全面&#xff0c;支持UVM、assert、coverage收集、可以很方便的dump 波形…

前海华海金融创新中心的工地餐点探寻

​前海的工地餐大部分都是13元一份的哈。我在前海华海金融创新中心的工地餐点吃过一份猪杂饭&#xff0c;现做13元一份。我一般打包后回公司吃或直接桂湾公园找个环境优美的地方吃饭。 ​我点的这份猪杂汤粉主要是瘦肉、猪肝、肉饼片、豆芽和生菜&#xff0c;老板依旧贴心问需要…

reduce-scatter:适合分布式计算;Reduce、LayerNorm和Broadcast算子的执行顺序对计算结果的影响,以及它们对资源消耗的影响

目录 Gather Scatter Reduce reduce-scatter:适合分布式计算 Reduce、LayerNorm和Broadcast算子的执行顺序对计算结果的影响,以及它们对资源消耗的影响 计算结果理论正确性 资源消耗方面 Gather 这个也很好理解,就是把多个进程的数据拼凑在一起。 Scatter 不同于Br…

移门缓冲支架:减少噪音,提升生活质量

移门缓冲支架不仅是一个简单的五金配件&#xff0c;更是提升家居生活质量的有效工具。通过减少门关闭时的噪音&#xff0c;移门缓冲支架能够创造一个安静、舒适的生活环境。以下是移门缓冲支架在减少噪音、提升生活质量方面的详细解析&#xff1a; 1. 显著降低关门噪音问题&…

Unity音频导入设置

参考&#xff1a;unity官方文档 导入设置 Force To Mono&#xff1a;强制单声道。启用后音频片段将降混为单声道声音。可以节省该资源所占据的空间。 Normalize&#xff1a;峰值归一化。降混过程通常会导致信号比原始信号更安静。峰值归一化的信号为音频源的音量属性提供了后…

时间序列分析——移动平均法、指数平滑法、逐步回归法、趋势外推法等(基于Python实现)

第 11章——时间序列分析和预测 【例11-1】 绘制时间序列折线图—观察成分 【代码框11-1】——绘制时间序列折线图 # 图11-2的绘制代码 import pandas as pd import matplotlib.pyplot as plt plt.rcParams[font.sans-serif]=[SimHei

NVMe(Non-Volatile Memory Express)非易失性存储器访问和传输协议

目录 NVMe(Non-Volatile Memory Express)非易失性存储器访问和传输协议 一、NVMe的定义 二、NVMe的特点 三、NVMe的应用场景 四、举例说明 NVMe(Non-Volatile Memory Express)非易失性存储器访问和传输协议 是一种非易失性存储器访问和传输协议,专为固态硬盘(SSD)…

SpringBoot有几种获取Request对象的方法

HttpServletRequest 简称 Request&#xff0c;它是一个 Servlet API 提供的对象&#xff0c;用于获取客户端发起的 HTTP 请求信息。例如&#xff1a;获取请求参数、获取请求头、获取 Session 会话信息、获取请求的 IP 地址等信息。 那么问题来了&#xff0c;在 Spring Boot 中…

模型运行速度笔记: s/epoch VS s/iter

1 概念介绍 在模型训练中&#xff1a; s/epoch 表示每个epoch所需的秒数&#xff0c;即完成一轮完整数据集训练的时间。s/iter 表示每个iteration&#xff08;迭代&#xff09;所需的秒数&#xff0c;即处理一个batch的时间。 它们的关系是&#xff1a; 2 举例 比如我tra…

JavaWeb笔记整理——Spring Task、WebSocket

目录 SpringTask ​cron表达式 WebSocket SpringTask cron表达式 WebSocket

PET-文件包含-FINISHED

include发生错误报warning&#xff0c;继续执行。require发生错误直接error&#xff0c;不继续执行 无视扩展名&#xff0c;只要能解析&#xff0c;就能当可执行文件执行&#xff0c;哪怕文件后缀或没后缀 1 条件竞争 pass17 只需要知道tmp的路径。把xieshell.jpg上传&…

rust逆向初探

rust 逆向葵花宝典 rust逆向技巧 rust逆向三板斧&#xff1a; [!NOTE] 快速定位关键函数 (真正的main函数)&#xff1a;观察输出、输入&#xff0c;字符串搜索&#xff0c;断点等方法。定位关键 加密区 &#xff1a;根据输入的flag&#xff0c;打硬件断点&#xff0c;快速捕获…

macbook git 设置和远程克隆项目

step1: git安装 step2: git配置 step3: ssh配置 Git的基本操作(Mac版)_mac gitbash-CSDN博客

vue项目npm run serve出现【- Network: unavailable】(从排查到放弃)

1. 问题现象 环境&#xff1a; 系统&#xff1a;win11node&#xff1a;v16.20.2“vue”: “2.6.10” 执行npm run serve启动vue项目&#xff0c;期望&#xff1a; App running at:- Local: http://localhost:9528/ - Network: http://x.x.x.x:9528/实际&#xff1a; App runn…

同比缩放,64的倍数,最大值

目录 opencv实现 opencv实现&#xff0c;只有缩小 import globimport cv2def resize_image(image, max_area800 * 400):original_height, original_width image.shape[:2]max_area_found 0best_resized_image None# 确定最小缩放比例&#xff0c;避免过度缩小导致图像信息…

项目技术栈-解决方案-web3去中心化

web3去中心化 Web3 DApp区块链:钱包:智能合约:UI:ETH系开发技能树DeFi应用 去中心化金融P2P 去中心化网络参考Web3 DApp 区块链: 以以太坊(Ethereum)为主流,也包括Solana、Aptos等其他非EVM链。 区块链本身是软件,需要运行在一系列节点上,这些节点组成P2P网络或者半…

STM32 标准库函数 GPIO_SetBits、GPIO_ResetBits、GPIO_WriteBit、GPIO_Write 区别

GPIO_SetBits&#xff1a; 使用例&#xff1a; GPIO_SetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2);意思是将GPIOA1和GPIOA2设为高电平 GPIO_SetBits(GPIOA, 0x0003);意思也是将GPIOA1和GPIOA2设为高电平 实际上当选中GPIOA时&#xff0c;它会按位遍历&#xff0c;在哪一位有1说…