Ubuntu下快速安装Nginx

本文介绍了在Ubuntu系统上如何安装Nginx,并提供了一种自动化安装方式,使用apt命令安装最新版本的Nginx。文章详细记录了安装步骤及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

Linux操作系统有很多不同的发行版本,像Ubuntu、CentOS、RedHat等等,有些是收费的,有些是免费的。接触过Linux的人多少对这些信息有些了解。虽然版本不同,但大部分系统命令还是一致的,可能会有细微的差别。

今天笔者就经历一把不同版本的Linux操作系统中安装nginx。笔者之前写过一篇CentOS下安装nginx的文章,这次由于客户那边换了个新的服务器,Ubuntu的,没办法,再来一遍~对比两次的安装经历,诞生了这篇文章。

Nginx安装

虽然发行版本不同,但说白了还都是Linux的系统,所以系统命令没有太大差别。安装nginx,我们可以选择纯手工方式和自动化方式。

纯手工方式就是自己下载tar.gz包,然后编译安装。这种方式在CentOS和Ubuntu下是无差别的。

自动化方式即利用系统中的软件库,通过快捷命令实现一键安装。CentOS常见的是yum,而Ubuntu中方便的的是apt。这里可以理解为windows操作系统中的360软件管家,里面有许多现成的软件供我们一键安装到位!

笔者是个懒人~自然还是选择自动化的方式。

原先在CentOS下靠的是yum,结果到Ubuntu下一看,没有!网上帖子和文章还是以apt居多,那自然选用apt走着。

但笔者突然先发现使用apt安装nginx的命令中并没有指定版本号,所以笔者好奇自动安装的nginx版本是啥呢?

# sudo apt-cache policy <packagename>

将<packagename>换成nginx一看,版本是1.4.6。笔者觉着有点低,怎么样才能利用apt安装最新的版本呢?根据查看nginx官网的安装说明和其他文章作为验证,总结出以下的快速安装方法,而且是最新版本呦。

1 从Nginx官网下载供apt程序认证使用的key,具体说明点这里

# cd /tmp
# wget http://nginx.org/keys/nginx_signing.key

2 将下载好的认证key添加到apt程序的key中。

# sudo apt-key add nginx_signing.key

3 向/etc/apt/sourses.list文件中追加如下内容:

deb http://nginx.org/packages/mainline/ubuntu/ {codename} nginx

deb-src http://nginx.org/packages/mainline/ubuntu/ {codename} nginx

上述内容中的codename需要替换成Nginx官方指定的值,这里需要先查看下Ubuntu的版本是啥?

# lsb_release -a

笔者的Ubuntu版本是14.04,对照这里,codename应该换成trusty。所以最终内容应该是:

deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx

deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx

记得保存退出文件哦~

4 执行apt安装的命令

# sudo apt-get update
# sudo apt-get install nginx

搞定!当然如果不介意nginx的版本,可以直接进行第4步,安装过程更快了一步。

测试运行

依靠apt自动安装过nginx后,文件的结构大致如下:

  • 所有的配置文件在/etc/nginx目录下。
  • 执行程序文件在/usr/sbin/nginx目录下。
  • 日志放在/var/log/nginx目录下。

自动化安装方式默认已经在/etc/init.d下创建了nginx的启动脚本,所以可以很方便地使用如下的命令来操纵nginx服务。

# service nginx {start|stop|status|restart|reload|configtest}

转载于:https://my.oschina.net/angerbaby/blog/703518

### 在 Ubuntu 22 上离线安装 Nginx 的方法 在没有互联网连接的情况下,在 Ubuntu 22 上安装 Nginx 需要手动获取所需的软件包及其依赖项,并将其传输到目标机器上完成安装。以下是详细的步骤: #### 1. 准备阶段 为了成功安装 Nginx,需要先在一个联网的 Ubuntu 系统上准备所有的必要文件和依赖项。 - **下载必要的依赖项** 使用 `apt-get` 命令来收集所有必需的库和工具。这些通常包括但不限于 GCC 编译器、Make 工具以及 Nginx 所需的核心模块支持(如 PCRE、Zlib 和 OpenSSL)。可以通过以下命令生成一个包含所需依赖项的列表[^1]: ```bash apt-cache depends nginx | grep -E 'Depends|Recommends' ``` - **导出依赖项至本地存储** 创建一个新的目录用于保存所有下载的 `.deb` 文件,并运行如下脚本来批量下载它们: ```bash mkdir -p /tmp/nginx-deps && cd /tmp/nginx-deps apt download $(apt-rdepends nginx | grep -v "^ " | sed '/<.*>/d') ``` 此操作会将所有直接或间接依赖于 Nginx 的软件包下载到当前工作目录下。 #### 2. 转移数据到无网络环境下的主机 利用 USB 存储设备或其他物理介质把上述 `/tmp/nginx-deps/` 中的内容复制过去给目标服务器。 #### 3. 安装已下载好的 DEB 包 切换到存放 deb 文件的位置执行下面这条指令一次性解决全部关联关系问题并实施部署动作: ```bash dpkg -i *.deb ``` 如果遇到任何错误提示关于缺少某些特定组件,则返回第一步重新确认是否有遗漏未被捕捉下来的项目再补充进来即可[^2]。 对于更高级别的定制化需求或者希望从源码构建最新版本而言,则可以按照另一套流程来进行操作——即参照官方文档指导手册逐步实现编译前准备工作直至最终完成整个过程[^3]。 --- ### 提供一段 Python 脚本辅助检查是否存在缺失的关键依赖项 有时即使经过精心策划仍可能出现个别情况未能完全覆盖所有潜在的需求;为此编写一小段简单的 python 小程序可以帮助快速定位那些可能存在问题的地方。 ```python import os from subprocess import run, PIPE def check_missing_deps(deb_dir): result = [] for file_name in os.listdir(deb_dir): if not file_name.endswith('.deb'): continue cmd_output = run(['dpkg', '-I', f"{deb_dir}/{file_name}"], stdout=PIPE).stdout.decode() unmet_lines = [line.strip() for line in cmd_output.splitlines() if 'unmet dependencies' in line.lower()] if unmet_lines: result.append((file_name, '\n'.join(unmet_lines))) return result if __name__ == "__main__": missing_info = check_missing_deps('/path/to/debs') # 替换为实际路径 if missing_info: print("Found some issues:") for fname, issue in missing_info: print(f"\t{fname}: {issue}") else: print("All seems good!") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值