基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本

首先,你可以运行以下命令查看可用版本:

apt-cache madison nginx-core

输出示例:

nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
nginx-core | 1.18.0-6ubuntu14   | http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

注意:不同系统(Ubuntu 版本)显示的内容不同,如 focal 是 Ubuntu 20.04,jammy 是 Ubuntu 22.04。

✅ 二、安装指定版本的 Nginx

假设你想安装版本 1.18.0-6ubuntu14,执行如下命令:

sudo apt install nginx-core=1.18.0-6ubuntu14

⚠️ 注意:
•如果你之前已经安装过其他版本,可能会提示冲突;
•安装前建议先卸载旧版本:

sudo apt remove nginx nginx-core nginx-light nginx-extras

🔒 三、锁定版本防止自动升级(可选)

如果你不希望下次升级时被更新到新版本,可以使用 apt-mark hold 锁定当前版本:

sudo apt-mark hold nginx-core

查看已锁定的包:

apt-mark showhold

如果你想解除锁定:

sudo apt-mark unhold nginx-core

📌 四、完整流程示例

# Step 1: 查看可安装版本
apt-cache madison nginx-core# Step 2: 卸载已有版本(如有)
sudo apt remove nginx nginx-core# Step 3: 安装指定版本
sudo apt install nginx-core=1.18.0-6ubuntu14# Step 4: 锁定版本(可选)
sudo apt-mark hold nginx-core

🧪 五、如果找不到旧版本?

Ubuntu 官方源中有时只保留有限的历史版本。如果你需要非常旧的版本(如 1.16.x),可以考虑以下方法:

✅ 方法 1:添加官方 Nginx APT 源(推荐)Nginx 官方提供了自己的 APT 源,支持更多版本选择。

  1. 添加官方源:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
  1. 更新并安装指定版本:
sudo apt update
sudo apt install nginx=1.24.0

可以访问 查看支持的版本。

📋 总结

目标命令
查看可用版本apt-cache madison nginx-core
安装指定版本sudo apt install nginx-core=版本号
锁定版本sudo apt-mark hold nginx-core
解锁版本sudo apt-mark unhold nginx-core
使用官方源安装配置官方 APT 源后使用 apt install nginx=版本号

👉 使用: apt 安装 Nginx 配置、启停

通常情况下,在通过 apt 安装 Nginx 后,主要的配置文件位于 /etc/nginx/ 目录下。
如何操作:查看或编辑 Nginx 配置文件

  1. 导航到 Nginx 配置文件所在的目录:
cd /etc/nginx
  1. 查看当前目录下的文件和子目录:
ls -l
你会看到一些重要的文件和目录,例如:
•nginx.conf:主配置文件。
•sites-available/ 和 sites-enabled/:用于站点配置。
  1. 编辑主配置文件 nginx.conf:
sudo vi nginx.conf
  1. 编辑站点配置文件:如果你需要为特定站点配置 Nginx,可以编辑或创建配置文件在 sites-available/ 目录下,并通过符号链接添加到 sites-enabled/ 目录中。例如,编辑默认站点配置:
sudo vi /etc/nginx/sites-available/default

测试配置并重启 Nginx完成配置修改后,建议先测试配置文件是否有语法错误:

sudo nginx -t

如果测试成功,重新加载 Nginx 以应用更改:

sudo systemctl reload nginx

或者完全重启服务:

sudo systemctl restart nginx

📋 总结

# 启动 Nginx
sudo systemctl start nginx# 设置开机自启
sudo systemctl enable nginx# 检查状态
sudo systemctl status nginx# 测试本地访问
curl http://localhost

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

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

相关文章

python打卡训练营打卡记录day51

复习日 作业:day43的时候我们安排大家对自己找的数据集用简单cnn训练,现在可以尝试下借助这几天的知识来实现精度的进一步提高 数据预处理 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transfor…

网络安全:OWASP防护守则

目录 一、OWASP十大WEB弱点防护守则 二、防护守则 1、权限控制失效 2、加密失误 3、注入 4、不安全设计 5、安全配置缺陷 6、易受攻击和过时的组件 7、身份认证和会话管理失效 8、缺乏完整性校验 9、缺乏监控与日志记录 10、服务端请求伪造 三、核心防护原则总结 …

Dagster 实现数据质量自动化:6大维度检查与最佳实践

在当今数据驱动的世界中,数据质量的重要性不言而喻。数据质量测试是确保数据准确、完整、一致和可靠的关键步骤。本文将深入探讨数据质量测试的六大维度,并提供相关的检查方法和最佳实践。 什么是数据质量测试? 数据质量测试涉及评估数据以确…

计算机视觉之三维重建(深入浅出SfM与SLAM核心算法)—— 2. 摄像机标定

文章目录 1. 前置知识1.1. 非齐次线性方程组求解1.1.1. 传统求解方法1.1.2. 奇异值分解法1.1.3. 牛顿法或者梯度下降法 1.2. 齐次线性方程组的最小二乘解1.3. 非线性方程组的最小二乘解 2. 相机标定2.1. 相机内参数求解2.1.1. 求解 u 0 u_0 u0​ 和 v 0 v_0 v0​2.1.2. 求解 …

SQLLL

595-big-countries https://leetcode.com/problems/big-countries/description/ 面积最大的国家 -- select name, population, area from World where area > 3000000 or population > 25000000596-classes-with-at-least-5-students https://leetcode.com/problems/…

MySQL中触发器详解 触发器在自动化任务中的应用场景

触发器是mysql中与表关联的数据库对象,能在特定操作(如insert、update、delete)发生时自动执行预定义sql逻辑。其核心用途包括:1. 维护数据一致性,如订单插入后自动减少库存;2. 记录审计日志,如…

MySQL 8.0的数据库root用户默认无法远程登录,需要修改root的远程授权

mysql> grant all privileges on . to ‘root’‘%’; ERROR 1410 (42000): You are not allowed to create a user with GRANT mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quick…

​​MPI + OpenMP 环境配置指南(Windows/Linux)​

—— 让你的并行计算飞起来 🚀 1. 简介​​ ​​MPI (Message Passing Interface)​​:用于多机分布式并行计算(进程级并行)。​​OpenMP​​:用于单机多线程并行计算(线程级并行)。​​混合编…

新闻类鸿蒙应用功耗危机以及优化方案

🔋 ​​一、功耗痛点:新闻类应用成“续航杀手”​​ ​​后台进程失控​​ ​​高频刷新​​:未适配应用(如网易新闻、百度客户端)默认每30秒后台刷新内容,触发CPU持续唤醒,单设备日均耗电增加1…

【小工具】-Doxygen01

0、前言 参考帖子。 使用Doxygen Documentation Generator自动添加注释 Doxygen使用教程 代码注释规范之Doxygen 1、Doxygen介绍 Doxygen 是一个功能强大的开源文档生成工具,主要用于从源代码中自动提取注释并生成专业的 API 文档。它支持多种编程语言&#xff…

大模型Transformer触顶带来的“热潮退去”,稀疏注意力架构创新或是未来

1. 大模型退潮:裸泳者离场,创新者浮出水面 资本热潮逐渐冷却,大模型赛道正经历残酷洗牌。过去两年密集的“百模大战”,本质是商业模式的军备竞赛,用数据规模与参数数量掩盖技术同质化。当DeepSeek以61层精简架构挑战千…

Android编译时打印所有引用的so库路径

在app module build.gradle 最后添加脚本 tasks.whenTaskAdded { task -> println("test 11 task.name:"task.name) if (task.name.startsWith(merge) && task.name.endsWith(NativeLibs)) { task.doFirst { prin…

暴雨亮相2025中关村论坛数字金融与金融安全大会

6月10日,由中关村金融科技产业发展联盟与中关村互联网金融研究院主办的“2025中关村论坛系列活动——数字金融与金融安全大会”在中关村展示中心盛大召开。本次大会以“人工智能机遇:未来金融格局重塑及安全治理”为主题,汇聚政产学研各界精英…

mapstruct中的@Mapper注解详解

在MapStruct中,Mapper注解是核心注解之一,用于标记一个接口或抽象类为MapStruct的映射器(Mapper)。MapStruct会在编译时自动生成该接口的实现类,完成对象之间的属性映射。以下是对Mapper注解的详细解析: 1.…

uniapp+vue2+h5图片下载保存,微信浏览器、非微信浏览器

小程序端 onDown() {// 检查相册权限uni.authorize({scope: scope.writePhotosAlbum,success: () > {this.downloadImage();},fail: () > {uni.showToast({title: "请授权相册权限",icon: "none"});}}); }, downloadImage() {common.request(post, …

NumPy 与 OpenCV 版本兼容性深度解析:底层机制与解决方案

在计算机视觉项目中,NumPy 和 OpenCV 的兼容性问题常被低估,实则暗藏复杂的技术陷阱。下面从底层机制深入剖析核心兼容性问题及解决方案: 一、内存布局冲突:数组连续性陷阱 问题本质: OpenCV 的 C 内核要求 连续内存块…

基于SpringBoot利用死信队列解决RabbitMQ业务队列故障重试无效场景问题

基于SpringBoot利用死信队列解决RabbitMQ业务队列故障重试无效场景问题 解决方案项目实战1、生产者服务1.1、RabbitConfig定义相关交换机及死信队列等配置数据1.2、TestController测试接口Controller 2、消费者服务2.1 BusinessQueueConsumer业务队列监听器2.2 DeadLetterConsu…

西安java面试总结1

这是我第二次的面试。其实第一次也算不上面试,去了让我手写了几道题,三道算法题,一道SQL题,两道逻辑思维题,做完之后也没看我的解答,随便看了一眼简历,觉得我是大二的,大三还有课&am…

【redis】线程IO模型

Redis线程IO模型 总结:在redis5.0及之前,redis线程io模型是单线程。那么Redis单线程如何处理那么多的并发客户端连接的?原因两点:1)非阻塞io 2)多路复用(事件轮询) 以下&#xff0…

进程间通信详解(三):Linux进程信号深度解析

文章目录 一、Linux进程信号核心概念1.1 信号本质1.2 关键术语1.3 Linux 信号机制的核心流程: 二、信号产生机制全景2.1 通过终端按键产生信号2.1.1 基本操作 2.2 调用系统命令向进程发信号2.2.1 kill 命令:向指定进程发送信号2.2.2 killall 命令&#x…