温馨提示×

如何配置Linux中的php-fpm以支持HTTPS

小樊
36
2025-12-28 00:31:37
栏目: 编程语言

要配置PHP-FPM以支持HTTPS,您需要执行以下步骤:

  1. 安装SSL证书 首先,您需要为您的域名获取SSL证书。您可以使用Let’s Encrypt免费获得证书。安装Certbot以获取和更新证书:
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
  1. 配置Nginx 接下来,您需要配置Nginx以使用SSL证书并代理请求到PHP-FPM。编辑Nginx配置文件(例如/etc/nginx/sites-available/yourdomain.com):
sudo nano /etc/nginx/sites-available/yourdomain.com

将以下内容粘贴到配置文件中,根据需要进行修改:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;

    root /var/www/yourdomain.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 更改此行以匹配您的PHP-FPM版本
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

保存并关闭文件。然后创建一个符号链接以启用站点:

sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/

检查Nginx配置是否正确:

sudo nginx -t

如果没有错误,请重新加载Nginx以应用更改:

sudo systemctl reload nginx
  1. 配置PHP-FPM 编辑PHP-FPM配置文件(例如/etc/php/7.4/fpm/pool.d/www.conf),根据需要进行修改:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf

找到以下行:

;listen = /run/php/php7.4-fpm.sock

取消注释并将其更改为:

listen = /run/php/php7.4-fpm.sock

保存并关闭文件。然后重启PHP-FPM服务:

sudo systemctl restart php7.4-fpm

现在,您的Linux服务器已配置为使用PHP-FPM支持HTTPS。访问您的域名,您应该看到一个安全的连接。

0