一、安装1Panel 🛠️

打开飞牛应用商店搜索1panel并安装,并设置好面板的安全入口以及管理员账户与密码

{2A5C32F4-41E1-4316-85B3-FFA7413C9085}

安装完成后,打开1Panel,并且输入安装时的管理员账户与密码 🔐

{895A0499-E336-4068-8571-9C614DCD310B}

{82A1F1C5-2048-4FD2-B925-07DA98428AA1}

二、安装OpenResty ⚡

成功登录并进入面板后,点击应用商店,搜索OpenResty并进入安装页面,我选择安装的镜像版本是openresty:1.27.1.2-2-3-focal 🏷️;

📝 什么是OpenResty?
OpenResty是一个基于Nginx的Web平台,集成了LuaJIT等众多高级功能,特别适合构建高性能的Web应用和API服务。相比传统Nginx,它提供了更丰富的功能和更好的性能。

接着将安装页面显示默认的/www替换为你安装1Panel的绝对路径/{XXX}/@appdata/1Panel/1panel/apps/openresty/openresty/www,例如:我在我的存储空间1安装了1Panel,我的路径是/vol1/@appdata/1Panel/1panel/apps/openresty/openresty/www 📂

💾 路径说明

  • /{XXX}:你的存储空间标识(如/vol1、/vol2等)
  • @appdata/1Panel:1Panel的应用数据目录
  • 建议选择大容量的存储空间来存放网站文件

{32D36083-2ABF-4FFD-B014-275EA5A55942}

最后,点击编辑 compose 文件并将其中的 - 修改为 - ./conf/conf.d:/usr/local/openresty/nginx/conf/conf.d/ 避免创建静态网站后出现无法进入静态网站的BUG! ⚠️

⚠️ 重要说明

  • compose文件是Docker Compose的配置文件,用于定义容器服务
  • 修改路径配置是为了确保网站配置文件能够正确挂载到容器内部
  • 这是解决静态网站无法访问的关键步骤,请务必修改正确

{8EBDD7FE-C840-4464-B575-4FB1CFE4B429}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
services:
openresty:
build:
context: ./build
args:
- PANEL_OPENRESTY_VERSION=1.27.1.2-2-3-focal
- RESTY_CONFIG_OPTIONS_MORE=${RESTY_CONFIG_OPTIONS_MORE}
- RESTY_ADD_PACKAGE_BUILDDEPS=${RESTY_ADD_PACKAGE_BUILDDEPS}
- CONTAINER_PACKAGE_URL=${CONTAINER_PACKAGE_URL}
image: 1panel/openresty:1.27.1.2-2-3-focal
container_name: ${CONTAINER_NAME}
restart: always
network_mode: host
volumes:
- ./conf/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf
- ./conf/fastcgi_params:/usr/local/openresty/nginx/conf/fastcgi_params
- ./conf/fastcgi-php.conf:/usr/local/openresty/nginx/conf/fastcgi-php.conf
- ./conf/mime.types:/usr/local/openresty/nginx/conf/mime.types
- ./conf/default:/usr/local/openresty/nginx/conf/default/
- ./conf/ssl:/usr/local/openresty/nginx/conf/ssl/
- ./log:/var/log/nginx
- ./root:/usr/share/nginx/html
- /etc/localtime:/etc/localtime
- ./1pwaf/data:/usr/local/openresty/1pwaf/data
- ${WEBSITE_DIR}:/www
- ${WEBSITE_DIR}/conf.d:/usr/local/openresty/nginx/conf/conf.d/
# 将上一行修改为>>>./conf/conf.d:/usr/local/openresty/nginx/conf/conf.d/
labels:
createdBy: "Apps"

1
./conf/conf.d:/usr/local/openresty/nginx/conf/conf.d/

修改完成后,点击确认开始安装OpenResty

三、搭建静态网站 🌐

点击1Panel侧边面板中的网站-网站,然后点击页面中的创建网站,选择静态网站并且输入你的域名后点击确认按钮 🎯

{40B5A6DE-D446-4C6F-9CA4-990197D68FA7}

{AEAEF296-63A6-4DC0-B5D0-016270459FC4}

创建完成后,点击你刚创建的网站的网站目录,并且点击上传按钮上传你的静态网站的相关文件 📁

image-20251127211010264

image-20251127211117282

image-20251127211319500

接着返回网站,并配置你刚刚创建的网站 ⚙️

image-20251127211436149

点击配置文件,并在配置文件指定位置处添加静态文件指定URL,例如/index.html/index.php(根据你的静态网站而定) 📝

📖 Nginx配置说明

  • try_files $uri $uri/ /index.html:这是Nginx的核心指令之一
  • $uri:尝试访问请求的URI路径对应的文件
  • $uri/:尝试访问请求的URI对应的目录
  • /index.html:如果前两者都不存在,则回退到主页
  • 这个配置特别适合单页应用(SPA),如React、Vue等前端框架

image-20251127211547338

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
server {
listen 80 ;
server_name your-domain.com;
index index.php index.html index.htm default.php default.htm default.html;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;

############# 添加>>> 🔥
location / {
try_files $uri $uri/ /index.html;
}
############# 添加>>> 🔥

access_log /www/sites/your-domain.com/log/access.log main;
error_log /www/sites/your-domain.com/log/error.log;
location ^~ /.well-known/acme-challenge {
allow all;
root /usr/share/nginx/html;
}
root /www/sites/your-domain.com/index;
error_page 404 /404.html;

}
1
2
3
location / {
try_files $uri $uri/ /index.html;
}

添加完毕后点击保存并重载 💾

image-20251127212411679

紧接着在你域名的DNS服务商添加DNS记录 🌐

💡 DNS配置说明:

  • A记录:将域名指向你的服务器IP地址
  • 主机记录:通常填写 @(根域名)或 www(子域名)
  • 记录值:填写你的公网IP地址
类型 主机记录 记录值 TTL
A @ 你的公网IP 600
A www 你的公网IP 600

⚠️ 注意:DNS解析通常需要几分钟到几小时不等的时间生效,请耐心等待。

四、配置SSL证书 🔒

SSL证书申请和导入

由于1Panel申请的免费SSL证书只能用于公网IP,我们需要使用带有公网IP的VPS来申请证书,然后导入到飞牛NAS的1Panel中:

步骤1:在VPS上申请SSL证书

  1. 在VPS的1Panel中,进入网站页面
  2. 选择你的域名,点击申请证书
  3. 选择Let's Encrypt免费证书
  4. 填写域名和邮箱,等待申请完成

步骤2:导出证书文件

  1. 证书申请完成后,找到证书存储路径
  2. 通常位于:/www/sites/your-domain.com/ssl/
  3. 下载以下文件:
    • fullchain.pem(证书文件)
    • privkey.pem(私钥文件)

步骤3:导入到飞牛NAS的1Panel

  1. 在飞牛NAS的1Panel中,进入网站-证书页面
  2. 点击导入证书
  3. 上传刚才下载的证书文件
  4. 证书名称填写你的域名

步骤4:为网站启用HTTPS

  1. 返回网站列表,点击配置
  2. 启用HTTPS选项
  3. 选择刚才导入的证书
  4. 配置HTTPS重定向(可选)
  5. 点击保存并重载

image-20251127213217031

五、常见问题解答 ❓

Q1:为什么需要修改compose文件中的配置路径?

A:默认的${WEBSITE_DIR}/conf.d配置会导致网站配置文件无法正确挂载,从而出现网站无法访问的问题。修改为./conf/conf.d确保配置文件能够正确映射到容器内。

Q2:网站无法访问怎么办?

A:请检查以下几点:

  1. 确认防火墙已开放80和443端口
  2. 检查DNS解析是否生效(使用ping命令测试)
  3. 确认OpenResty容器是否正常运行
  4. 检查网站配置文件是否正确

Q3:SSL证书申请失败怎么办?

A:常见解决方法:

  1. 确认域名DNS解析已指向正确的公网IP
  2. 检查80端口是否可访问(Let’s Encrypt验证需要)
  3. 确认域名没有被其他证书占用
  4. 等待DNS解析完成后再试

Q4:静态网站404错误怎么解决?

A:请检查nginx配置文件中的try_files设置:

1
2
3
location / {
try_files $uri $uri/ /index.html;
}

这配置会先尝试访问请求的文件,如果不存在则回退到/index.html

Q5:如何备份网站数据?

A:建议定期备份以下目录:

  1. 网站文件:/vol1/@appdata/1Panel/1panel/apps/openresty/openresty/www
  2. 配置文件:/vol1/@appdata/1Panel/1panel/apps/openresty/openresty/conf
  3. 证书文件:/vol1/@appdata/1Panel/1panel/apps/openresty/openresty/conf/ssl

Q6:OpenResty和普通Nginx有什么区别?

A:OpenResty是基于Nginx的增强版本,集成了LuaJIT,提供了更丰富的功能,如:

  • 支持Lua脚本编程
  • 内置了许多有用的模块
  • 性能优化和缓存机制
  • 更适合复杂的Web应用场景

最后你就可以通过你的域名愉快的访问你在飞牛NAS上使用1Panel安装的OpenResty搭建的静态网站啦!🎉

六、总结与延伸阅读 📚

🎯 本教程核心要点

通过本教程,我们成功在飞牛NAS上搭建了一个完整的静态网站环境:

  1. 1Panel管理面板 - 提供了便捷的Docker容器管理功能
  2. OpenResty - 高性能的Web服务器,基于Nginx增强
  3. DNS解析 - 将域名指向你的服务器IP
  4. SSL证书 - 为网站提供HTTPS安全访问
  5. 配置优化 - 解决了常见的网站访问问题

🚀 进阶功能推荐

搭建完成后,你还可以考虑以下功能增强:

  1. CDN加速:使用CloudFlare等CDN服务加速网站访问
  2. 网站监控:配置网站监控和自动备份
  3. 多域名管理:在同一服务器上托管多个网站
  4. 数据库集成:添加MySQL或PostgreSQL支持动态网站
  5. 自动化部署:配置CI/CD pipeline自动部署网站更新

📖 相关技术文档

💡 维护建议

为了确保网站长期稳定运行,建议:

  1. 定期更新:及时更新1Panel和OpenResty版本
  2. 数据备份:定期备份网站文件和配置
  3. 日志监控:定期检查访问日志和错误日志
  4. 安全加固:及时处理安全漏洞和威胁
  5. 性能优化:根据访问情况优化服务器配置

🎊 恭喜你成功搭建了属于自己的静态网站!如果有任何问题或建议,欢迎在评论区留言交流。