ubuntu

Ubuntu PHP-FPM如何配置SSL证书

小樊
42
2025-04-19 17:38:13
栏目: 云计算

在Ubuntu上为PHP-FPM配置SSL证书,通常需要以下几个步骤:

  1. 安装Certbot: Certbot是一个用于获取和续订Let’s Encrypt SSL证书的工具。你可以使用以下命令安装它:

    sudo apt update
    sudo apt install certbot python3-certbot-nginx
    
  2. 获取SSL证书: 使用Certbot获取SSL证书。假设你的域名是example.com,你可以运行以下命令:

    sudo certbot --nginx -d example.com -d www.example.com
    

    Certbot会自动配置Nginx以使用SSL证书,并创建一个符号链接指向证书文件。

  3. 配置PHP-FPM: PHP-FPM本身不需要SSL证书,但你可能需要配置Nginx以将HTTPS请求转发到PHP-FPM。编辑Nginx配置文件(通常位于/etc/nginx/sites-available/default),添加或修改以下内容:

    server {
        listen 80;
        server_name example.com www.example.com;
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl;
        server_name example.com www.example.com;
    
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    
        root /var/www/html;
        index index.php index.html index.htm;
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    
  4. 重启Nginx和PHP-FPM: 保存配置文件后,重启Nginx和PHP-FPM以应用更改:

    sudo systemctl restart nginx
    sudo systemctl restart php7.4-fpm # 根据你的PHP版本调整
    
  5. 验证配置: 打开浏览器并访问https://example.com,你应该能够看到你的网站通过HTTPS提供服务。

注意事项

通过以上步骤,你应该能够在Ubuntu上成功为PHP-FPM配置SSL证书。

0
看了该问题的人还看了