ubuntu

php-fpm在Ubuntu上如何配置SSL证书

小樊
40
2025-05-18 00:00:14
栏目: 云计算

在Ubuntu上为PHP-FPM配置SSL证书,你需要遵循以下步骤:

  1. 安装Certbot: Certbot是一个自动化的工具,用于获取和部署Let’s Encrypt SSL证书。首先,确保你的系统已经安装了Certbot。如果没有,请运行以下命令来安装它:
sudo apt update
sudo apt install certbot python3-certbot-nginx
  1. 获取SSL证书: 使用Certbot获取SSL证书。在这个例子中,我们将为域名example.com获取证书。运行以下命令:
sudo certbot --nginx -d example.com -d www.example.com

Certbot会自动检测Nginx配置文件的位置,并提示你输入电子邮件地址、同意服务条款等。完成这些步骤后,Certbot将自动配置Nginx并获取SSL证书。

  1. 配置PHP-FPM: 编辑PHP-FPM配置文件,通常位于/etc/php/7.x/fpm/pool.d/www.conf(其中7.x是你的PHP版本)。找到以下行:
;listen.owner = nginx
;listen.group = nginx
;listen.mode = 0660

取消注释这些行(删除前面的分号),并将nginx替换为www-data(这是Ubuntu上Nginx的默认用户):

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

保存并关闭文件。

  1. 重启PHP-FPM和Nginx服务: 为了使更改生效,需要重启PHP-FPM和Nginx服务。运行以下命令:
sudo systemctl restart php7.x-fpm
sudo systemctl restart nginx

将7.x替换为你的PHP版本。

  1. 测试配置: 现在,你的网站应该已经通过HTTPS提供服务。访问https://example.com(将example.com替换为你的域名),确保一切正常运行。

注意:Certbot证书有效期为90天。为了确保证书始终有效,你可以设置Certbot自动更新证书。运行以下命令:

sudo systemctl enable certbot.timer
sudo systemctl start certbot.timer

这将启用并启动Certbot的计划任务,以自动更新证书。

0
看了该问题的人还看了