树莓派上安装与配置 Nginx Web 服务器教程

在树莓派上配置 Nginx 作为 Web 服务器的步骤如下:

1. 更新树莓派

首先,确保你的树莓派系统是最新的。打开终端并执行以下命令:

bash 复制代码
sudo apt update
sudo apt upgrade -y

2. 安装 Nginx

在树莓派上安装 Nginx:

bash 复制代码
sudo apt install nginx -y

3. 启动 Nginx 服务

安装完成后,启动 Nginx 服务,并使其开机自启动:

bash 复制代码
sudo systemctl start nginx
sudo systemctl enable nginx

4. 检查 Nginx 状态

你可以检查 Nginx 是否运行正常:

bash 复制代码
sudo systemctl status nginx

如果一切正常,你应该能看到类似以下的信息:

bash 复制代码
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since...

5. 配置 Nginx(选择性)

Nginx 的默认配置文件位于 /etc/nginx/nginx.conf,而虚拟主机配置文件通常位于 /etc/nginx/sites-available//etc/nginx/sites-enabled/。你可以根据需要修改这些配置文件。

配置默认网站

默认的 Web 根目录是 /var/www/html,你可以将你的网站文件放在这个目录下。如果你想修改默认页面,可以编辑 /var/www/html/index.html

bash 复制代码
sudo nano /var/www/html/index.html

配置虚拟主机

如果你有多个网站,可以使用虚拟主机来进行管理。

(1)在 /etc/nginx/sites-available/ 目录下创建一个新的配置文件。例如,我们为 mywebsite.com 创建配置文件:

bash 复制代码
sudo nano /etc/nginx/sites-available/mywebsite.com

(2)在文件中输入如下配置:

com 复制代码
server {
    listen 80;
    server_name mywebsite.com www.mywebsite.com;

    root /var/www/mywebsite;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

这将告诉 Nginx 监听 80 端口,当访问 mywebsite.com 时,返回 /var/www/mywebsite 目录下的文件。

(3)创建一个指向该配置文件的符号链接,以便启用它:

bash 复制代码
sudo ln -s /etc/nginx/sites-available/mywebsite.com /etc/nginx/sites-enabled/

(4)创建网站根目录并添加一个简单的 index.html 文件:

bash 复制代码
sudo mkdir /var/www/mywebsite
sudo nano /var/www/mywebsite/index.html

在 index.html 中添加一些 HTML 内容:

html 复制代码
<html>
  <head>
    <title>Welcome to My Website!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>
  </body>
</html>

(5)检查 Nginx 配置是否正确:

bash 复制代码
sudo nginx -t

(6)如果配置没有问题,重启 Nginx 使修改生效:

bash 复制代码
sudo systemctl restart nginx

6. 配置防火墙(如果需要)

如果你的树莓派上启用了 UFW 防火墙,确保允许 HTTP 和 HTTPS 流量通过:

bash 复制代码
sudo ufw allow 'Nginx Full'

7. 设置自动启动

确保 Nginx 在树莓派重启时自动启动:

bash 复制代码
sudo systemctl enable nginx

8. 访问 Nginx 网站

此时,你可以通过树莓派的 IP 地址或配置的域名访问网站。例如,假设树莓派的 IP 地址是 192.168.1.100,你可以在浏览器中输入http://192.168.1.100,就能看到你配置的网站页面。

9. 配置 HTTPS(可选)

为了确保网站的安全,你可以为你的站点配置 SSL,使用 Let's Encrypt 提供免费的证书。

(1)安装 Certbot:

bash 复制代码
sudo apt install certbot python3-certbot-nginx -y

(2)运行 Certbot 获取 SSL 证书并自动配置 Nginx:

bash 复制代码
sudo certbot --nginx

(3)跟随提示完成证书安装。

(4)Certbot 会自动为你的站点配置 HTTPS,重启 Nginx 后你可以通过 https:// 访问你的站点。

10. 测试和调试

Nginx 配置完成后,定期检查日志文件以确保没有出现错误。Nginx 的日志通常位于:

访问日志:/var/log/nginx/access.log

错误日志:/var/log/nginx/error.log

你可以使用以下命令查看日志:

bash 复制代码
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log

至此,你已经成功在树莓派上安装并配置了 Nginx,可以托管静态网站或进行更多的配置。

相关推荐
潇凝子潇2 分钟前
UnsupportedOperationException
java·前端·数据库
卷无止境3 分钟前
Python 跨平台 GUI 解决方案全景报告
前端·python
万少7 小时前
用腻了 WorkBuddy 的默认界面?这个开源小工具给它换上了毛玻璃
前端·javascript·后端
潘正翔10 小时前
docker核心概念
linux·运维·服务器·docker·容器·centos·运维开发
renhongxia111 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
海上彼尚11 小时前
Nodejs也能写Agent - 16.LangGraph篇 - 条件分支与循环
前端·后端·langchain·node.js
To_OC11 小时前
从 “卡死半天” 到 “打字机效果”:大模型流式输出前端实现全记录
前端·javascript·llm
SoaringHeart12 小时前
Flutter最佳实践:键盘辅助视图输入框天添加图片附件
前端·flutter
Dovis(誓平步青云)12 小时前
远程办公软件文件传输实测:6 款工具的速度、稳定性和办公体验对比
linux·运维·服务器·后端·生成对抗网络
专注_每天进步一点点12 小时前
SLB(绑定弹性公网ip)-gateway-业务pod,gateway上出现reset by peer,业务pod上没有reset by peer
服务器·tcp/ip·gateway