手动删除后如何安装nginx

apr*_*ril 12 nginx

我已经安装nginx使用apt

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:nginx/stable
sudo apt-get install software-properties-common
sudo apt-get update
sudo apt-get install nginx
Run Code Online (Sandbox Code Playgroud)

然后我使用whereis nginx并手动删除了所有文件,rm 现在我想重新安装nginx但它不起作用并返回错误:

awk: cannot open /etc/nginx/nginx.conf (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

我创建/etc/nginx/nginx.conf 然后使用apt-get install nginx它安装完全不起作用。

的输出sudo dpkg -l | grep nginx

ii  nginx                                      1.4.3-1~raring0                        all          small, powerful, scalable web/proxy server
ii  nginx-common                               1.4.3-1~raring0                        all          small, powerful, scalable web/proxy server - common files
ii  nginx-full                                 1.4.3-1~raring0                        i386         nginx web/proxy server (standard version)
Run Code Online (Sandbox Code Playgroud)

Sau*_*mar 20

由于您无论如何都设法安装了它,因此您要做的第一件事就是使用配置文件将其完全删除

按照以下步骤将其完全删除并重新安装。

  • 打开终端并执行以下命令:

    sudo apt-get autoremove nginx
    sudo apt-get --purge remove nginx
    sudo apt-get autoremove && sudo apt-get autoclean
    sudo find / | grep nginx | sudo xargs rm -rf
    
    Run Code Online (Sandbox Code Playgroud)

    最后一个命令也将删除存储库,因此您必须通过以下方式再次添加它:

    sudo add-apt-repository ppa:nginx/stable
    
    Run Code Online (Sandbox Code Playgroud)

    现在尝试通过以下方式再次安装它:

    sudo apt-get update && sudo apt-get -f install nginx
    
    Run Code Online (Sandbox Code Playgroud)
  • 希望它能解决你的问题。如果您在描述该命令的任何特定命令中遇到任何错误,请回复。

这是输出

sudo dpkg -l | grep nginx

ii  nginx                                       1.4.3-1~precise0                                    small, powerful, scalable web/proxy server
ii  nginx-common                                1.4.3-1~precise0                                    small, powerful, scalable web/proxy server - common files
ii  nginx-full                                  1.4.3-1~precise0                                    nginx web/proxy server (standard version)
Run Code Online (Sandbox Code Playgroud)

whereis nginx

nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx /usr/share/man/man1/nginx.1.gz
Run Code Online (Sandbox Code Playgroud)


小智 8

您遇到的问题是您删除了一些不属于 packagenginx的文件,安装 /etc/nginx 文件的包是nginx-common.

所以如果你想重新创建/etc/nginx文件,你应该这样做:

> apt-get install --reinstall nginx-common
Run Code Online (Sandbox Code Playgroud)

为了确定哪个包属于一个文件,您应该执行dpkg -S <file>,在这种情况下:

dpkg -S /etc/nginx
nginx-common: /etc/nginx
Run Code Online (Sandbox Code Playgroud)