在 Arch Linux 上从零部署 LNMP 环境:完整实战指南
LNMP(Linux + Nginx + MariaDB + PHP)是经典的 Web 服务器架构,在 Arch Linux 上搭建这套环境,既能体验到滚动发行版的前沿软件优势,也能充分锻炼系统配置能力。Arch 作为 DIY 友好型发行版,部署过程中需要手动处理不少细节,以下是完整的部署流程。
一、环境准备
- 系统更新
部署前先将系统升级到最新状态,避免依赖冲突:
sudo pacman -Syu
- 基础工具安装
安装常用文本编辑器和网络工具,方便后续配置:
sudo pacman -S vim net-tools
二、安装 Nginx
- 安装与启动
通过官方仓库安装 Nginx,启动服务并设置开机自启:
sudo pacman -S nginx
sudo systemctl start nginx
sudo systemctl enable nginx
-
验证安装
在浏览器访问http://服务器IP,看到 Nginx 默认欢迎页面即表示安装成功。若需要查看服务器 IP,可执行curl icanhazip.com。 -
配置说明
Nginx 的主配置文件位于/etc/nginx/nginx.conf,默认网站根目录为/srv/http。后续配置 PHP 解析时需要修改该文件。
三、安装 MariaDB
Arch Linux 官方仓库使用 MariaDB 替代 MySQL,两者完全兼容。
- 安装与初始化
安装 MariaDB 后,需要先初始化数据目录:
sudo pacman -S mariadb
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
- 启动服务
启动 MariaDB 并设置开机自启:
sudo systemctl start mariadb
sudo systemctl enable mariadb
- 安全加固
执行安全初始化脚本,设置 root 密码、移除匿名用户、禁止 root 远程登录、删除测试库:
sudo mysql_secure_installation
按提示操作,首次执行时 root 密码为空,直接回车后按提示设置新密码,后续所有问题均选择 Y。
- 验证连接
执行mysql -u root -p输入密码后能进入数据库命令行,即表示安装成功。
四、安装 PHP
- 安装 PHP 及扩展
安装 PHP-FPM(PHP 的 FastCGI 进程管理器)和 MySQL 扩展:
sudo pacman -S php php-fpm php-mysql
- 启用 MySQL 扩展
编辑 PHP 配置文件/etc/php/php.ini,找到;extension=mysqli.so这一行,去掉前面的分号以启用扩展:
sudo vim /etc/php/php.ini
- 启动 PHP-FPM
启动服务并设置开机自启:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
五、配置 Nginx 解析 PHP
编辑 Nginx 主配置文件,添加 PHP 解析规则:
sudo vim /etc/nginx/nginx.conf
找到 #location ~ \.php$ { 这一行,取消注释并修改为以下内容:
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
root /srv/http;
include fastcgi.conf;
}
修改完成后保存文件,重启 Nginx 使配置生效:
sudo systemctl restart nginx
六、环境验证
在网站根目录创建测试文件,验证 PHP 是否正常解析:
sudo vim /srv/http/info.php
写入以下内容:
<?php phpinfo(); ?>
在浏览器访问 http://服务器IP/info.php,看到 PHP 信息页面即表示 LNMP 环境部署成功。
⚠️ 注意:测试完成后务必删除 info.php 文件,避免泄露服务器敏感信息。
七、常见问题排查
- 502 Bad Gateway
- 检查 PHP-FPM 是否正常运行:
systemctl status php-fpm - 确认 Nginx 配置中
fastcgi_pass的 socket 路径是否正确,可通过ls /var/run/php-fpm/查看实际 socket 文件名。
- PHP 文件直接下载不解析
- 检查 Nginx 配置中
location ~ \.php$块是否正确添加,且已重启 Nginx。
- 权限问题
- 确保网站根目录权限正确:
sudo chown -R http:http /srv/http - 目录权限设置为 755,文件权限设置为 644。
八、进阶建议
-
配置虚拟主机
对于多站点场景,建议在/etc/nginx/conf.d/目录下为每个站点创建单独的配置文件,便于管理。 -
开启防火墙
若服务器开启了防火墙,需要放行 80 和 443 端口:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
- 安装 PHP 常用扩展
根据实际需求安装额外扩展,例如 GD 库、mbstring 等:
sudo pacman -S php-gd php-mbstring php-curl
- 定期更新
Arch Linux 是滚动发行版,建议定期执行sudo pacman -Syu更新系统,但更新前建议备份重要数据。
在 Arch Linux 上手动部署 LNMP 环境,虽然步骤比一键脚本繁琐,但能让你完全掌控每个组件的配置细节。这套环境适合学习、开发测试,若用于生产环境,建议搭配监控和备份方案,确保服务稳定性。
- 点赞
- 收藏
- 关注作者
评论(0)