在HTTPS的sslconfiguration之后,Nginx无法重新启动

我想通过https服务我的网站,因此我完全按照给定的方式跟随了本教程 。

在第5步sudo nginx -t给出了积极的结果,因为configuration是好的。 当我跑sudo systemctl restart nginx它给出了以下错误

 Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. 

当我检查/var/log/nginx/error.log错误日志,如果显示此错误

2017/03/14 07:35:20 [emerg] 12111#12111:bind()到0.0.0.0:443失败(98:地址已经在使用)

2017/03/14 07:35:20 [emerg] 12111#12111:bind()到0.0.0.0:443失败(98:地址已经在使用)

2017/03/14 07:35:20 [emerg] 12111#12111:bind()到0.0.0.0:443失败(98:地址已经在使用)

2017/03/14 07:35:20 [emerg] 12111#12111:bind()到0.0.0.0:443失败(98:地址已经在使用)

2017/03/14 07:35:20 [emerg] 12111#12111:bind()到0.0.0.0:443失败(98:地址已经在使用)

2017/03/14 07:35:20 [emerg] 12111#12111:仍然无法绑定()

用包括ipv6only=on技巧尝试之后,显然似乎没有任何工作,现在我无能为力了。

我的默认configuration在这里可用

请帮忙

看起来好像另一个进程打开了端口tcp / 443和nginx因为这个而无法这样做。 你检查netstat的一个已经打开的端口443?

问题是,你有这个在你的configuration:

 listen 80 default_server; listen [::]:80 default_server; 

这样做如下:

1 – 我在端口80上启动服务器

结果:好的

2 – 我在端口[::]:80上启动服务器

结果:失败

我认为你的第二行,你实际上调用ivp4和ipv6的监听参数。 尝试以下操作:

 listen 80 default_server; listen [::]:80 ipv6only=on; 

看看它是否有效。

顺便说一句,你也错过了configuration中的一些非常重要的行。 即:

 ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;