树莓派上安装与配置 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,可以托管静态网站或进行更多的配置。

相关推荐
liuyouzhang44 分钟前
将基于Archery的web数据库审计查询平台封装为jdbc接口的可行性研究(基于AI)
前端·数据库
码事漫谈6 小时前
大模型输出的“隐性结构塌缩”问题及对策
前端·后端
这儿有一堆花7 小时前
前端三件套真的落后了吗?揭开现代 Web 开发的底层逻辑
前端·javascript·css·html5
郝亚军7 小时前
ubuntu通过samba,让win11可以访问其共享文件夹
linux·服务器·ubuntu
农村小镇哥7 小时前
nginx服务器的介绍
运维·服务器·nginx
.Cnn7 小时前
JavaScript 前端基础笔记(网页交互核心)
前端·javascript·笔记·交互
小夏子_riotous7 小时前
Docker学习路径——3、常用命令
linux·运维·服务器·学习·docker·容器·centos
醉酒的李白、7 小时前
Vue3 组件通信本质:Props 下发,Emits 回传
前端·javascript·vue.js
anOnion8 小时前
构建无障碍组件之Window Splitter Pattern
前端·html·交互设计
NotFound4868 小时前
实战分享Python爬虫,如何实现高效解析 Web of Science 文献数据并导出 CSV
前端·爬虫·python