凌峰创科服务平台

Linux服务器如何搭建PHP环境?

下面我将为你提供两种最主流、最推荐的方案:

Linux服务器如何搭建PHP环境?-图1
(图片来源网络,侵删)
  1. 使用 LNMP/LAMP 一键安装包 (推荐新手和快速部署)
  2. 手动逐个安装 (推荐追求灵活性和学习)

准备工作

在开始之前,请确保你有一台已经安装好 Linux 系统的服务器(推荐使用 Ubuntu/Debian 或 CentOS/Rocky),并且拥有 root 权限(或使用 sudo 命令)。

# 检查系统版本 (以 Ubuntu 为例)
lsb_release -a
# 更新系统软件包列表 (非常重要!)
sudo apt update && sudo apt upgrade -y
# 对于 CentOS/Rocky:
# sudo yum update -y

使用 LNMP/LAMP 一键安装包

这是最快、最简单的方法,适合快速搭建生产环境或个人测试环境,它会自动帮你安装 Nginx/Apache、MySQL/MariaDB 和 PHP。

选择 1:LNMP (Linux + Nginx + MySQL + PHP)

Nginx 以其高性能和低内存占用而闻名,是目前 Web 服务器的主流选择。

下载并执行安装脚本

Linux服务器如何搭建PHP环境?-图2
(图片来源网络,侵删)
# 下载官方推荐的安装脚本
wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8
# 执行安装程序
sudo ./install.sh

按照提示进行配置 脚本会一步步向你询问:

  • 请选择要使用的版本: 选择 nginx
  • 请输入要绑定的域名: 如果没有域名,可以直接按回车,默认会使用 IP 地址。
  • 请输入MySQL的root密码: 设置一个强密码并牢记。
  • 请设置MySQL的密码: (同上)
  • 请输入PHP版本: 这是关键!根据你的项目需求选择,
    • 2 (最新稳定版,推荐新项目)
    • 1, 0
    • 4 (如果项目需要 PHP 7.x)
  • 是否安装内存缓存: 可以选择 RedisMemcached,如果不确定,可以不安装。
  • 是否安装PureFTPd: 如果需要通过 FTP 上传文件,可以选择安装。
  • 是否安装宝塔面板: 可以选择安装,提供图形化管理界面。

等待安装完成 脚本会自动下载并安装所有组件,这个过程可能需要 10-30 分钟,取决于你的服务器网络和性能。

测试安装 安装完成后,脚本会提示你如何管理,你可以使用以下命令:

# 管理 LNMP 套件
sudo lnmp {start|stop|restart|reload|status} {nginx|mysql|php-fpm|mariadb}
# 添加虚拟主机 (网站)
sudo lnmp vhost add
# 查看配置
sudo lnmp {nginx|mysql|php-fpm|mariadb} status

选择 2:LAMP (Linux + Apache + MySQL + PHP)

Apache 是一个非常成熟和稳定的 Web 服务器,许多老旧系统仍在使用。

Linux服务器如何搭建PHP环境?-图3
(图片来源网络,侵删)

安装过程与 LNMP 非常相似,只是在第一步选择时选择 apache

# 下载并解压
wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8
# 执行安装,在第一步选择 apache
sudo ./install.sh

后续步骤与 LNMP 基本一致,只是 Web 服务器换成了 Apache。


手动逐个安装

这种方法让你对每个组件的安装和配置有更深入的了解,适合需要高度定制化或学习原理的用户,我们以 Ubuntu 22.04 + Nginx + PHP 8.2 + MySQL 为例。

步骤 1: 安装 Nginx

# 安装 Nginx
sudo apt update
sudo apt install nginx -y
# 启动 Nginx 并设置为开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
# 检查 Nginx 状态
sudo systemctl status nginx
# 检查是否可以通过浏览器访问服务器的 IP 地址
# 在浏览器输入 http://<你的服务器IP>

步骤 2: 安装 MySQL (MariaDB)

MariaDB 是 MySQL 的一个流行分支,完全兼容。

# 安装 MariaDB
sudo apt install mariadb-server mariadb-client -y
# 安全配置
sudo mysql_secure_installation

按照提示操作:

  • 输入当前 root 密码(默认为空,直接回车)
  • 设置 root 密码 (Y)
  • 移除匿名用户 (Y)
  • 不允许 root 远程登录 (Y, 更安全)
  • 移除测试数据库 (Y)
  • 重新加载权限表 (Y)

步骤 3: 安装 PHP 和 PHP-FPM

PHP-FPM (FastCGI Process Manager) 是一个 PHP 的 FastCGI 实现,能让 Nginx 高效地处理 PHP 请求。

# 安装 PHP 8.2 以及一些常用扩展
sudo apt install php8.2-fpm php8.2-mysql php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip php8.2-gd -y
# 检查 PHP-FPM 状态
sudo systemctl status php8.2-fpm

步骤 4: 配置 Nginx 以支持 PHP

Nginx 本身不处理 PHP 文件,需要将 .php 文件的请求转发给 PHP-FPM。

创建一个新的 Nginx 配置文件

sudo nano /etc/nginx/sites-available/my-php-site

输入以下配置内容

server {
    listen 80;
    server_name _; # 用你的域名替换,或用 IP
    root /var/www/html; # 网站根目录
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
    # 将所有 .php 文件的请求转发给 PHP-FPM
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        # 这个指令告诉 Nginx 使用哪个 PHP 版本
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }
    # 防止访问隐藏文件(如 .htaccess)
    location ~ /\.ht {
        deny all;
    }
}

启用这个网站配置

# 创建符号链接到 sites-enabled 目录
sudo ln -s /etc/nginx/sites-available/my-php-site /etc/nginx/sites-enabled/
# 删除默认的欢迎页面配置
sudo rm /etc/nginx/sites-enabled/default
# 测试 Nginx 配置是否正确
sudo nginx -t
# 如果显示 successful,则重载 Nginx
sudo systemctl reload nginx

步骤 5: 创建一个 PHP 测试页面

# 创建网站根目录(如果不存在)
sudo mkdir -p /var/www/html
sudo chown -R $USER:$USER /var/www/html
# 创建一个 info.php 文件
sudo nano /var/www/html/info.php

在文件中输入:

<?php
phpinfo();
?>

保存并退出 (Ctrl+X, Y, Enter)。

步骤 6: 测试 PHP 是否工作

在浏览器中访问 http://<你的服务器IP>/info.php,如果看到一个包含 PHP 详细信息的页面,说明你的 PHP 环境已经成功搭建!

安全提示: info.php 会暴露服务器大量敏感信息,测试完成后务必删除它!

sudo rm /var/www/html/info.php

总结与建议

方案 优点 缺点 适用场景
LNMP/LAMP 一键包 快速、简单、自动化,集成了常用管理工具。 版本可能不是最新的,配置灵活性较低,可能包含不必要的组件。 新手入门快速部署生产环境个人博客/网站
手动安装 灵活可控,版本选择自由,理解每个组件的作用,配置更精简。 过程繁琐,需要手动解决依赖和配置问题,对新手不友好。 开发者学习需要高度定制化服务器环境复杂的项目。

给你的建议:

  • 如果你是新手,或者只是想快速搭建一个网站:直接使用 方案一 (LNMP 一键包),这是最省时省力的方法。
  • 如果你想深入学习 Linux 和 Web 服务器配置:强烈推荐 方案二 (手动安装),虽然步骤多,但每一步都能让你学到东西。
分享:
扫描分享到社交APP
上一篇
下一篇