我在为 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,您也可以使用;您可以跳过所有前面的步骤并先尝试此命令。