前面写过一篇网站部署 Let’s Encript SSL Certificate 并启用 https 的教程:VPS配置SSL证书启用HTTPS
同一个vps下有多个网站,已经部署了一个网站,另一个网站如何部署ssl?
教程vps下有两个网站,怎么给第二个网站配置 https? 需要配合教程步骤:VPS配置SSL证书启用HTTPS
进入证书目录
cd /opt/letsencrypt
粘贴一下命令,回车执行:
sudo -H ./certbot-auto certonly --standalone --email 12345@qq.com -d www.example.com -d example.com
注意:
- 上面命令中的 email 地址是方便你接收证书密钥回复以及紧急信息的,尽量填写企业邮箱或者gmail 邮箱,QQ邮箱应该也可以,你可以填写试试。
- 你的网站域名如果是 xyz.com,那么上面就改为:-d www.xyz.com -d xyz.com
建议先把上面命令复制粘贴到记事本里,把 www.example.com 和 example.com 先替换好,然后粘贴执行。
此时,会提示你端口443已经占用,无法安装证书。
由于我们第一个网站的 https 已经占用了443 端口,所以我们要先把 443 端口进程关闭。一般是因为当前网站 nginx 占用了 80 和 443 两个端口。所以我们先执行:
service nginx stop
如果停止成功,则重新粘贴上面那条 sudo 命令来安装证书
如果出现如下的问题,如截图所示:
那么就要从进程里把 nginx 强制关闭。执行命令查看 nginx 的 PID:
ps aux |grep nginx
可以看到类似于如下截图中的进程信息:
比如:图中有三个 PID:28576 28579 29928 (不一定是这3个进程号,你要自己看)
于是执行命令:kill -9 28576 28579 29928 (格式为 kill -9 进程号1 进程号2 进程号3,进程号之间有空格)
然后再执行命令:service nginx stop,停止 nginx 之后,接着粘贴上面那条 sudo 的命令,即可正常给第二个网站安装证书。
安装完证书,完成之后,记得重启 nginx!
service nginx restart