下面我将为你提供一个从零开始的详细指南,涵盖硬件准备、软件选择(以最推荐的 LAMP/LEMP 为例)、配置、安全防护和访问方式。

第一部分:准备工作
在开始之前,请确保你已经具备以下条件:
硬件清单
- 树莓派:任何型号的树莓派都可以,但 Raspberry Pi 4 或 5 性能更好,能更好地处理流量。
- 电源适配器:确保功率足够(Pi 4 推荐 5V 3A)。
- MicroSD 卡:建议 Class 10 或 UHS-I 速度,容量至少 16GB,推荐 32GB 或以上。
- 网络连接:以太网连接(推荐,更稳定)或 Wi-Fi。
- 散热:7x24 小时运行,建议加装散热片或小风扇,防止过热降频。
软件与环境
- 操作系统:推荐使用 Raspberry Pi OS (Legacy with recommended software),这个版本预装了很多常用工具,能省去很多安装步骤。
- 工具:
- 树莓派 Imager:用于将系统镜像烧录到 MicroSD 卡。
- SSH 客户端:用于远程连接树莓派,Windows 10/11 已内置,macOS/Linux 系统自带。
- VNC 客户端(可选):用于远程图形桌面连接。
初始设置
- 使用 树莓派 Imager 将 Raspberry Pi OS 镜像烧录到 MicroSD 卡。
- 烧录完成后,在
boot分区创建一个名为ssh的空文件(无后缀名),以启用 SSH 服务。 - 将 MicroSD 卡插入树莓派,连接电源、网线和显示器(或直接通过 SSH 连接)。
- 首次启动,通过屏幕或路由器管理页面找到树莓派的 IP 地址。
- 使用 SSH 连接树莓派:
ssh pi@<你的树莓派IP地址>
默认密码是
raspberry,首次登录后,强烈建议立即修改密码:passwd
第二部分:选择服务器架构并搭建
对于网站服务器,主要有两种主流架构:LAMP 和 LEMP。
- LAMP:Linux (操作系统) + Apache (Web 服务器) + MySQL (数据库) + PHP (编程语言)
- LEMP:Linux (操作系统) + Nginx (Web 服务器) + MySQL (数据库) + PHP (编程语言)
Nginx (Engine X) 相较于 Apache,在处理高并发静态资源时性能更优,配置更简洁,是目前更现代的选择。我们这里重点推荐搭建 LEMP 环境。

步骤 1:更新系统
在开始安装任何软件之前,先更新你的系统包列表和已安装的包,确保所有软件都是最新的。
sudo apt update sudo apt upgrade -y
步骤 2:安装 Nginx Web 服务器
Nginx 是一个高性能的 HTTP 和反向代理服务器。
sudo apt install nginx -y
安装完成后,Nginx 会自动启动,你可以通过浏览器访问你的树莓派 IP 地址,如果看到 "Welcome to nginx!" 页面,说明安装成功。
步骤 3:安装 MySQL 数据库
MySQL 用于存储网站数据,WordPress 博客的文章、用户信息等。
sudo apt install mysql-server -y
安装完成后,运行安全脚本,它会引导你设置 root 密码、移除匿名用户等,这是非常重要的安全步骤。
sudo mysql_secure_installation
根据提示操作:
- VALIDATE PASSWORD COMPONENT? (设置密码验证组件) -> 选择
Y(推荐) - Set root password? -> 设置一个强密码并记住
- Remove anonymous users? ->
Y(移除匿名用户) - Disallow root login remotely? ->
Y(禁止 root 远程登录) - Remove test database? ->
Y(移除测试数据库) - Reload privileges tables now? ->
Y(立即重载权限表)
步骤 4:安装 PHP
PHP 是一种服务器端脚本语言,用于动态生成网页内容。
sudo apt install php-fpm php-mysql -y
php-fpm(FastCGI Process Manager) 是 Nginx 运行 PHP 的标准方式。php-mysql允许 PHP 连接 MySQL 数据库。
安装后,PHP-FPM 也会自动启动。
步骤 5:配置 Nginx 以支持 PHP
我们需要让 Nginx 知道如何处理 .php 文件,并将其交给 PHP-FPM 处理。
-
创建一个网站配置文件 我们将为我们的网站创建一个独立的配置文件。
sudo nano /etc/nginx/sites-available/mywebsite
-
粘贴以下配置内容 将下面的内容复制并粘贴到打开的文件中,请将
your_domain_or_ip替换为你的域名或树莓派的 IP 地址。server { listen 80; server_name your_domain_or_ip; # 替换成你的域名或IP root /var/www/mywebsite; # 网站根目录 index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } # 将所有 .php 文件请求传递给 PHP-FPM location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 注意这里的版本号,可能是 php8.0-fpm.sock 或 php8.2-fpm.sock } # 阻止访问隐藏文件 location ~ /\.ht { deny all; } }注意:
fastcgi_pass后面的php8.1-fpm.sock可能需要根据你安装的 PHP 版本进行修改,你可以用以下命令查找:ls /var/run/php/
看到类似
php8.1-fpm.sock的文件名,就用那个。 -
启用配置并测试 创建一个符号链接来启用这个站点配置。
sudo ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/
删除默认的欢迎页面配置(可选):
sudo rm /etc/nginx/sites-enabled/default
测试 Nginx 配置是否正确:
sudo nginx -t
如果显示
syntax is ok和test is successful,则配置正确。 -
重启 Nginx 使配置生效
sudo systemctl restart nginx
步骤 6:创建网站根目录并测试 PHP
-
创建网站目录
sudo mkdir -p /var/www/mywebsite
-
设置正确的权限 让 Web 服务器 (Nginx) 可以读取和写入这个目录。
sudo chown -R www-data:www-data /var/www/mywebsite sudo chmod -R 755 /var/www/mywebsite
-
创建一个
info.php文件来测试 PHPsudo nano /var/www/mywebsite/info.php
在文件中输入以下内容:
<?php phpinfo(); ?>
-
访问测试 在浏览器中访问
http://<你的树莓派IP地址>/info.php,如果看到一个显示 PHP 详细信息的页面,恭喜你!你的 LEMP 服务器已经成功搭建并运行了!安全提示:测试完成后,为了安全,应立即删除
info.php文件,因为它会暴露服务器配置信息。sudo rm /var/www/mywebsite/info.php
第三部分:部署一个网站 (以 WordPress 为例)
现在服务器环境已经好了,我们可以部署一个真正的网站,WordPress。
-
下载并解压 WordPress
cd /tmp wget https://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz
-
将 WordPress 文件移动到网站根目录
sudo mv wordpress/* /var/www/mywebsite/
-
设置权限
sudo chown -R www-data:www-data /var/www/mywebsite
-
创建 MySQL 数据库和用户
sudo mysql -u root -p
输入你之前设置的 root 密码,然后执行以下 SQL 命令(请替换
your_db_name,your_user,your_password):CREATE DATABASE your_db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON your_db_name.* TO 'your_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
-
完成 WordPress 安装 在浏览器中访问
http://<你的树莓派IP地址>,你会看到 WordPress 的安装界面,填写数据库名、用户名、密码等信息,然后按照提示完成安装。
第四部分:让网站从公网访问 (可选)
要让你的网站能被互联网上的任何人访问,你需要进行以下设置:
端口转发 (路由器设置)
- 登录你的路由器管理后台。
- 找到“端口转发”或“虚拟服务器”设置。
- 添加一条规则:
- 外部端口:
80(HTTP) 或443(HTTPS) - 内部 IP 地址:你的树莓派局域网 IP 地址 (
168.1.10) - 内部端口:
80或443
- 外部端口:
- 保存设置。
动态 DNS (DDNS)
如果你的家庭网络 IP 地址是动态变化的(每次重启路由器都会变),你需要一个 DDNS 服务。
- 服务提供商:No-IP, DuckDNS 等(很多免费)。
- 设置:在你的 DDNS 服务商网站上注册一个域名(如
myhome.ddns.net),并安装它们提供的客户端软件在树莓派上,该客户端会自动更新你的 IP 地址到域名。
安全性 (非常重要!)
直接将服务器暴露在公网上风险很高,请务必做到:
- 使用 HTTPS:通过 Let's Encrypt 免费获取 SSL 证书,并配置 Nginx 支持 HTTPS,这可以加密所有流量。
- 配置防火墙:使用
ufw(Uncomplicated Firewall) 只开放必要的端口(如 80, 443),关闭所有其他端口。sudo apt install ufw -y sudo ufw allow 22/tcp # SSH sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS sudo ufw enable
- 定期更新:保持系统和所有软件都是最新的。
sudo apt update && sudo apt upgrade -y
恭喜你!你已经成功地在树莓派上搭建了一个功能完整的网站服务器,现在你可以:
- 运行个人博客、作品集网站。
- 作为家庭媒体服务器(如结合 Plex, Jellyfin)的 Web 界面。
- 学习和测试各种 Web 技术。
- 甚至可以作为一个轻量级的后端服务。
树莓派的功耗很低,非常适合 7x24 小时不间断运行,是一个绝佳的个人服务器入门平台。
