在 Ubuntu 20.04 LTS 上全新安装后,由于缺少 nginx.conf 而无法运行 nginx

在 Ubuntu 20.04 LTS 上全新安装后,由于缺少 nginx.conf 而无法运行 nginx

我在为 nginx 运行 letsencrypt 证书时遇到了问题,所以我尝试卸载所有内容并从头开始。现在,当我在 Ubuntu 20.04 LTS 服务器上(重新)安装 nginx 时

sudo apt install nginx

我无法启动它,因为默认安装不再包含 nginx.conf。

ls -lah /etc/nginx

输出

total 32K
drwxr-xr-x  8 root root 4,0K Jun 24 17:54 .
drwxr-xr-x 90 root root 4,0K Jun 24 17:54 ..
drwxr-xr-x  2 root root 4,0K Apr 12 10:04 conf.d
drwxr-xr-x  2 root root 4,0K Apr 12 10:04 modules-available
drwxr-xr-x  2 root root 4,0K Jun 24 17:50 modules-enabled
drwxr-xr-x  2 root root 4,0K Jun 24 17:54 sites-available
drwxr-xr-x  2 root root 4,0K Apr 12 10:04 sites-enabled
drwxr-xr-x  2 root root 4,0K Jun 24 17:54 snippets

我不记得我做了与sudo apt install nginx上次安装时不同的事情,但由于某种原因,开箱即用的安装不再存在。

答案1

apt-get remove --purge nginx*

该命令将删除 Nginx 安装的所有内容,并删除目录。它允许您使用配置文件完全安装它。

答案2

奇怪,没有nginx.conf文件,请尝试重新安装包

sudo apt update
sudo apt reinstall nginx

看看它是否能解决你的问题,并查看系统中的 nginx.conf 文件

sudo find / -iname nginx.conf

最后,如果您的问题没有解决,请自行创建 nginx.conf,您可以通过在线搜索找到一个简单的配置。

答案3

还有第三种方法,将两者结合起来。如果您重新安装或安装软件包时没有处于干净状态,则可能会发生这种情况。

Debian 原生方式 (apt-get):

  • apt-get clean 万一软件包没有 100% 下载正确,而只有 99.9999% 下载正确,我修复了一些罕见的问题。
  • apt-get update
    如果你没有有效的存储库,或者不再运行
  • apt-get purge nginx*
    万一它仍然安装
  • apt-get check Check 是一个诊断工具;它更新包缓存并检查是否存在损坏的依赖关系。
  • apt-get install --reinstall nginx
    将重新安装整个软件包,提醒一下,它只会安装默认软件包

单线行动:

使用 --reinstall (即使不需要,也可以使用 reinstall)

apt-get clean && apt-get update && apt-get purge nginx* && apt-get check && apt-get install --reinstall nginx

无需确认(即使不需要,也可以重新安装)

apt-get clean && apt-get update && apt-get -yy purge nginx* && apt-get check && apt-get install -yy --reinstall nginx

验证内容

现在它应该有一个可以运行的 Nginx 安装。

为了解释这个过程,我之前使用这种方法来修复尝试使用 Nginx 存储库时出现的情况。它的工作原理如下:首先,我们清理存储库的知识,然后从头开始获取。我们删除 Nginx,检查是否有损坏的依赖项(这在此时应该不是问题),最后,我们重新安装 Nginx。您可以使用--reinstall即使当前未安装 Nginx,您也可以使用;您可以跳过所有前面的步骤并先尝试此命令。

参考:

在线手册页:apt-get

相关内容