-
服务器环境确认
- 系统选择:推荐 CentOS 7/8、Ubuntu 20.04/22.04,优先选稳定版(举例:阿里云服务器默认 CentOS 7.9 即可)。
- 权限准备:部署全程建议用 root 用户或 sudo 权限,避免权限不足导致操作失败(举例:执行命令前加 sudo,如 sudo yum install xxx)。
- 环境清理:先卸载系统自带的旧版本软件(举例:CentOS 下用 yum remove mariadb-libs 清理旧 MariaDB 依赖)。
-
网络与防火墙
- 开放端口:需放行 80(HTTP)、443(HTTPS)、3306(MySQL)端口(举例:CentOS 7 用 firewall-cmd --add-port=80/tcp --permanent 开放 80 端口)。
- 关闭无用服务:暂时关闭 SELinux(举例:CentOS 下执行 setenforce 0 临时关闭,修改 /etc/selinux/config 永久关闭),避免拦截 Nginx/PHP 操作。
二、分步部署
1. 安装 Nginx
- 安装方式:优先用官方源,避免系统源版本过旧(举例:CentOS 需先添加 Nginx 官方 yum 源,Ubuntu 需添加 apt 源)。
- 核心操作:
- 安装后启动 Nginx 并设置开机自启(举例:CentOS 7 用 systemctl start nginx && systemctl enable nginx)。
- 验证是否成功:浏览器访问服务器公网 IP,能看到 Nginx 默认欢迎页即表示安装正常。
- 配置文件位置:主配置文件在 /etc/nginx/nginx.conf,站点配置建议放在 /etc/nginx/conf.d/ 目录(举例:新建 test.conf 配置自己的网站)。
2. 安装 MySQL/MariaDB
- 版本选择:MySQL 8.0 或 MariaDB 10.5+ 均可,MariaDB 是 MySQL 分支,兼容性更好(举例:新手优先装 MariaDB 10.6)。
- 核心操作:
- 安装后初始化:设置 root 密码(举例:执行 mysql_secure_installation 脚本,按提示设置密码、删除匿名用户、禁止 root 远程登录)。
- 验证连接:用 mysql -uroot -p 命令,输入密码能进入数据库命令行即成功。
- 关键配置:修改字符集为 utf8mb4(支持 emoji),调整最大连接数(举例:配置文件 /etc/my.cnf 中添加 character-set-server=utf8mb4)。
3. 安装 PHP
- 版本选择:推荐 PHP 7.4/8.1(兼容大部分开源程序,如 WordPress 适配 PHP 7.4+)。
- 核心操作:
- 安装扩展:必须装 mysqli、pdo_mysql 扩展(举例:CentOS 下 yum install php-mysqli php-pdo_mysql),否则 PHP 无法连接 MySQL。
- 配置 Nginx 解析 PHP:需在 Nginx 站点配置中添加 PHP 解析规则(举例:将 .php 请求转发给 127.0.0.1:9000,即 PHP-FPM 端口)。
- 验证 PHP:新建 info.php 文件,内容为 ,访问该文件能看到 PHP 信息页即解析正常。
三、常见问题与解决
- Nginx 访问 PHP 报 404:检查 Nginx 站点配置中 root 路径是否正确(举例:网站根目录是 /usr/share/nginx/html,配置中 root 需写此路径),且 PHP-FPM 是否启动。
- PHP 无法连接 MySQL:确认 MySQL 服务已启动,且 PHP 扩展已安装并在 php.ini 中启用(举例:php.ini 中 extension=mysqli.so 未注释)。
- 权限问题导致页面空白:调整网站目录权限(举例:chown -R nginx:nginx /usr/share/nginx/html,让 Nginx 有权限读取文件)。
四、后期优化
- Nginx 优化:开启 gzip 压缩、设置静态资源缓存(举例:对 js、css、图片设置 7 天缓存)。
- MySQL 优化:调整内存占用、开启慢查询日志(举例:my.cnf 中设置 innodb_buffer_pool_size 为服务器内存的 50%)。
- PHP 优化:调整 PHP-FPM 进程数(举例:根据服务器核数设置 pm.max_children,4 核服务器设为 20)。
总结
- LNMP 部署核心是按 "Linux 基础配置 → Nginx → MySQL → PHP" 顺序,每一步验证成功后再进行下一步。
- 关键注意点:端口开放、权限配置、PHP 扩展安装、Nginx 与 PHP-FPM 的联动配置。
- 部署后需验证核心功能(Nginx 访问静态页、PHP 解析、PHP 连接 MySQL),出现问题优先检查配置文件和服务状态。
- 注意检查所配置文件的格式是否有误,都会影响环境部署