温馨提示×

LNMP环境中SSL证书如何安装

小樊
58
2025-09-18 08:25:38
栏目: 云计算

LNMP环境中SSL证书安装步骤

1. 准备工作

在安装SSL证书前,需确认以下信息:

  • 已搭建好LNMP(Linux+Nginx+MySQL+PHP)环境(若未搭建,可通过LNMP一键安装包安装,命令:wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gztar zxf lnmp1.7.tar.gzcd lnmp1.7./install.sh,按提示选择版本配置)。
  • 拥有域名并已完成备案(国内网站必需)。
  • 确定证书类型:推荐Let’s Encrypt(免费,适合个人/测试网站)或ZeroSSL(付费,稳定性更高,适合商业网站)。

2. 获取SSL证书

方式一:使用Let’s Encrypt(免费)

通过LNMP一键安装包的工具快速申请:
在终端执行命令:lnmp ssl add,按提示依次输入:

  • 域名(如yourdomain.com,支持多域名添加);
  • 网站根目录(如/home/wwwroot/yourdomain.com);
  • 是否开启rewrite规则(根据网站框架选择,如WordPress需开启);
  • 绑定邮箱(用于证书过期提醒)。
    工具会自动完成证书下载与Nginx配置,无需手动操作。
方式二:使用ZeroSSL(付费/免费版)

通过acme.sh工具生成ECC证书(更轻量、安全):
执行命令:/usr/local/acme.sh --server zerossl --issue -d yourdomain.com -d www.yourdomain.com --keylength ec-256 -w /home/wwwroot/yourdomain.com(替换为你的域名和网站根目录)。
等待几分钟,证书会自动生成在/root/.acme.sh/yourdomain.com_ecc/目录下(包含fullchain.cer证书文件和yourdomain.com.key私钥)。

3. 配置Nginx

找到对应网站的Nginx虚拟主机配置文件(通常位于/usr/local/nginx/conf/vhost/yourdomain.com.conf),修改或添加以下内容:

server {
    listen 443 ssl;  # 开启HTTPS监听端口
    server_name yourdomain.com www.yourdomain.com;  # 绑定域名
    
    # 指向证书文件(路径需与生成证书时的路径一致)
    ssl_certificate /usr/local/nginx/conf/ssl/yourdomain.com_ecc/fullchain.cer;  
    ssl_certificate_key /usr/local/nginx/conf/ssl/yourdomain.com_ecc/yourdomain.com.key;
    
    # 其他配置(如root目录、PHP处理等)
    root /home/wwwroot/yourdomain.com;
    index index.php index.html;
    
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-cgi.sock;  # 根据PHP版本调整sock路径
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

注意:若使用Let’s Encrypt自动配置,无需手动修改,工具会自动更新配置文件。

4. 重新加载Nginx

配置完成后,执行以下命令使配置生效:

  • 使用LNMP一键安装包工具:lnmp reload
  • 或使用系统命令:systemctl reload nginx(适用于systemd系统)。

5. 验证SSL证书

  • 浏览器验证:访问https://yourdomain.com,若地址栏显示绿色锁形图标,说明证书安装成功。
  • 在线工具验证:通过Qualys SSL Labs的SSL Server Test输入域名,检查证书链、加密协议(如TLS 1.2/1.3)是否配置正确。

6. 可选:配置HTTP到HTTPS重定向

为强制用户使用HTTPS,避免HTTP明文传输,可在Nginx配置文件的server块(监听80端口)中添加重定向规则:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$server_name$request_uri;  # 永久重定向到HTTPS
}

修改后重新加载Nginx即可。

以上步骤覆盖了LNMP环境下SSL证书安装的全流程,具体命令和路径可能因LNMP版本、Linux发行版略有差异,建议参考对应工具的官方文档调整。

0