LNMP环境搭建与SSL证书配置教程
要安装LNMP(Linux、Nginx、MySQL、PHP)环境,并配置SSL证书,请按照以下步骤操作:,,1. **下载和安装 LNMP**:, - 下载适用于您的 Linux 发行版的 LNMP 源代码。, - 使用./configure
和make
命令进行编译和安装。,,2. **设置 Nginx 配置文件**:, - 创建一个自定义的 SSL 服务器块,/etc/nginx/sites-available/mydomain.com
,并在其中添加适当的 SSL 相关选项。,,3. **测试和部署**:, - 使用nginx -t
检查 Nginx 配置是否正确。, - 如果无误,使用sudo nginx
启动 Nginx。,,4. **获取和导入 SSL 证书**:, - 确保您已经从可信来源获取了 SSL 证书和私钥。, - 将证书和私钥复制到相应的目录中。,,5. **配置 Nginx 进入主目录**:, - 在nginx.conf
文件中添加指向新站点的条目。, - 重启 Nginx 以应用更改。,,6. **验证配置**:, - 打开浏览器访问您的域名,确认 Nginx 正确处理 HTTPS 请求。,,通过以上步骤,您可以成功安装 LNMP 环境并配置 SSL 证书。
在当今的互联网环境中,网络安全和数据隐私的重要性日益提升,为了保护您的网站免受未经授权访问、恶意软件攻击以及钓鱼等威胁,使用SSL(Secure Sockets Layer/Transport Layer Security)证书是一个非常重要的步骤,本文将详细介绍如何在Linux系统上安装LNMP(Linux Nginx, MySQL, PHP)环境,并配置SSL证书。
一、准备工作
系统环境
确保您的服务器已安装了以下基本软件包:
Nginx
MySQL
PHP
PHP扩展(如curl、openssl等)
大多数现代Linux发行版默认都包含这些组件,但请确认它们是否已正确安装,如果未安装,可以通过包管理器进行安装,在Ubuntu或Debian系统中,可以使用apt-get
命令来安装:
sudo apt-get update sudo apt-get install nginx mysql-server php-fpm php-mysql php-curl php-xml openssl
对于CentOS,可以使用yum
命令:
sudo yum install -y nginx mariadb-server php-fpm php-mysqlnd php-curl php-xml openssl
二、安装LNMP环境
安装LNMP
我们需要从源代码安装Nginx、MySQL和PHP,以下是详细的安装步骤:
Nginx
下载Nginx源码 wget http://nginx.org/download/nginx-1.18.0.tar.gz tar -zxvf nginx-1.18.0.tar.gz cd nginx-1.18.0 配置编译选项 ./configure --prefix=/usr/local/nginx \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/run/nginx.pid \ --with-http_ssl_module \ --with-compat \ --add-module=../ngx_http_substitutions_filters_module-0.5 编译和安装 make && make install
MySQL
初始化MySQL数据库 mysql_install_db --user=mysql 创建新用户和授予权限 echo "CREATE DATABASE testdb;" | mysql -u root -p echo "GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost' IDENTIFIED BY 'password';" | mysql -u root -p 启动MySQL服务 sudo systemctl start mysqld sudo systemctl enable mysqld
PHP
下载PHP并配置:
下载PHP源码 wget https://www.php.net/distributions/php-7.4.36.tar.gz tar -zxvf php-7.4.36.tar.gz cd php-7.4.36 修改php.ini文件以启用SSL支持 cp /etc/php/7.4/cli/conf.d/70-swoole.ini . sed -i '/swoole.so/a ssl.use_system_certdir = On' /etc/php/7.4/cli/conf.d/70-swoole.ini 配置Nginx模块 echo "[module] name=swoole path=/usr/local/php/libexec" >> /etc/nginx/modules-enabled/swoole.conf 配置Nginx vi /etc/nginx/nginx.conf 添加如下配置以启用SNI(Server Name Indication) server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/your/server.crt; # 替换为你的SSL证书路径 ssl_certificate_key /path/to/your/private.key; # 替换为你的私钥路径 } 重新加载Nginx配置 sudo service nginx reload 设置环境变量 export PATH=$PATH:/usr/local/php/bin
三、配置SSL证书
创建一个新的目录来存放SSL证书:
mkdir -p /etc/nginx/certs/
生成自签名证书:
openssl req -newkey rsa:4096 -nodes -sha256 -days 365 -keyout /etc/nginx/certs/testcert.key -out /etc/nginx/certs/testcert.csr
然后请求一个外部证书签发机构的证书:
openssl x509 -req -in /etc/nginx/certs/testcert.csr -CA /etc/nginx/certs/ca.pem -CAkey /etc/nginx/certs/ca.key -CAcreateserial -out /etc/nginx/certs/testcert.pem -days 365
更新Nginx配置文件以引用新的证书:
ssl_certificate /etc/nginx/certs/testcert.pem; ssl_certificate_key /etc/nginx/certs/testcert.key;
重启Nginx以应用更改:
sudo service nginx restart
四、测试SSL连接
打开浏览器并输入您的域名,检查SSL证书的有效性,您应该能看到HTTPS标志,表明您的网站正在安全地通过SSL进行通信。
通过以上步骤,您已经成功在Linux系统上安装了LNMP环境,并配置了SSL证书,这不仅增强了您的网站安全性,还提高了用户体验,今后在开发和部署Web应用程序时,请务必考虑SSL加密,这对于维护用户信任至关重要。
扫描二维码推送至手机访问。
声明:本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。