树莓派搭建Web服务器(Apache/Nginx)

将树莓派变成一台Web服务器,可以用来搭建个人网站、文件共享、物联网控制平台等。本文将介绍两种主流的Web服务器方案:Apache和Nginx。
一、Apache方案
Apache是最成熟的Web服务器软件,安装配置简单,适合初学者。
安装Apache:
```bash
sudo apt update
sudo apt install apache2 -y
```
启动并设置开机自启:
```bash
sudo systemctl enable apache2
sudo systemctl start apache2
```
测试: 浏览器访问 `
网站根目录位于 `/var/www/html/`,将你的网页文件放入即可。
安装PHP支持:
```bash
sudo apt install php libapache2-mod-php php-mysql -y
sudo systemctl restart apache2
```

创建测试文件:
```bash
echo "" | sudo tee /var/www/html/info.php
```
访问 ` 查看PHP信息。
启用HTTPS:
```bash
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com
```
二、Nginx方案
Nginx性能更优,内存占用更少,适合高并发场景。
安装Nginx:
```bash
sudo apt update
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
```
测试: 浏览器访问 `
Nginx根目录: `/var/www/html/`
让Nginx支持PHP:
```bash
sudo apt install php-fpm php-cli php-curl php-gd php-cgi -y
```
编辑默认站点配置:
```bash
sudo nano /etc/nginx/sites-available/default
```
将 `location /` 中的内容替换为:
```
index index.html index.htm index.php default.html default.htm default.php;
```
添加PHP处理:
```
location ~ \.php$ {
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
```
重启Nginx:
```bash
sudo systemctl restart nginx
```
配置虚拟主机示例:
```bash
sudo nano /etc/nginx/sites-available/my-site
```
```
server {
listen 80;
server_name my-site.local;
root /var/www/my-site;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
```bash
sudo ln -s /etc/nginx/sites-available/my-site /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
```
三、部署Pi Dashboard仪表盘

安装好Web服务器后,可以部署Pi Dashboard(树莓派仪表盘),通过Web界面监控树莓派状态。
安装步骤:
```bash
cd /var/www/html
sudo git clone
sudo chown -R www-data pi-dashboard
```
访问 ` 即可看到炫酷的系统监控界面。
包含的监控项目:
- CPU基本信息、状态和使用率
- 内存、缓存、SWAP分区使用情况
- SD卡(磁盘)占用情况
- 实时负载和进程数据
- 网络接口实时数据
- 树莓派IP、运行时间、操作系统信息
四、动态DNS(DDNS)
如需外网访问但无固定IP,可使用DDNS:
```bash
sudo apt install ddclient
sudo nano /etc/ddclient.conf
```
配置示例(以3322.org为例):
```
daemon=300
pid=/var/run/ddclient.pid
ssl=yes
use=web, web=checkip.dyndns.org
server=members.3322.org
protocol=dyndns2
login=你的用户名
password=你的密码
你的域名.3322.org
```
五、安全加固
```bash
# 修改SSH端口防扫描
sudo nano /etc/ssh/sshd_config
# 修改 Port 22 为其他端口
# 配置防火墙
sudo apt install ufw
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
```
*本文整理自树莓派实验室(shumeipai.nxez.com)的Web服务器部署相关教程*

微信联系
淘宝联系