温馨提示×

centos下php-fpm如何配置SSL证书

小樊
40
2025-12-31 02:41:11
栏目: 云计算

在CentOS系统下为PHP-FPM配置SSL证书,通常涉及以下几个步骤:

  1. 获取SSL证书

    • 你可以从Let’s Encrypt免费获取SSL证书。
    • 使用Certbot工具来自动化这个过程。
  2. 安装Certbot

    sudo yum install epel-release
    sudo yum install certbot python2-certbot-nginx
    
  3. 获取并安装SSL证书

    • 运行Certbot来获取证书。假设你的域名是example.com
      sudo certbot --nginx -d example.com -d www.example.com
      
    • Certbot会自动配置Nginx(或Apache)来使用SSL证书,并创建一个符号链接到证书文件。
  4. 配置PHP-FPM

    • 确保PHP-FPM监听的是Unix socket而不是TCP端口,因为Nginx通常通过Unix socket与PHP-FPM通信。
    • 编辑PHP-FPM配置文件(通常是/etc/php-fpm.d/www.conf),找到以下行并确保它们被正确设置:
      listen = /run/php-fpm/www.sock
      listen.owner = nginx
      listen.group = nginx
      
    • 确保Nginx配置文件中正确引用了这个Unix socket。编辑Nginx配置文件(通常是/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf),找到以下部分并确保它们被正确设置:
      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$ {
              try_files $uri =404;
              fastcgi_pass unix:/run/php-fpm/www.sock;
              fastcgi_index index.php;
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
              include fastcgi_params;
          }
      }
      
  5. 重启服务

    • 重启Nginx和PHP-FPM服务以应用更改:
      sudo systemctl restart nginx
      sudo systemctl restart php-fpm
      
  6. 验证配置

    • 打开浏览器并访问https://example.com,确保SSL证书正确安装并且网站可以正常访问。

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

0