赣州瑞金网站建设,网站空间ip是一个域名,永州建设网站公司,网页源码在线查看openwrt-安装NGINX
介绍
OpenWrt 是一个用于嵌入式设备的开源操作系统。它基于 Linux 内核#xff0c;并且主要被设计用于路由器和网络设备。
OpenWrt 的主要特点包括#xff1a; 完全可定制#xff1a;OpenWrt 提供了一个完全可写的文件系统#xff0c;用户可以自定义设…openwrt-安装NGINX
介绍
OpenWrt 是一个用于嵌入式设备的开源操作系统。它基于 Linux 内核并且主要被设计用于路由器和网络设备。
OpenWrt 的主要特点包括 完全可定制OpenWrt 提供了一个完全可写的文件系统用户可以自定义设备的行为。相比其他嵌入式操作系统OpenWrt 更加灵活和强大。 软件包管理OpenWrt 提供了一个内置的包管理系统用户可以安装或者卸载额外的软件包。这使得用户可以根据需要定制设备的功能。 丰富的功能默认情况下OpenWrt 提供了很多用于网络设备的功能如防火墙、QoS服务质量、IPv6 支持、路由协议支持、VPN、DNS、DHCP 等。 开源OpenWrt 是开源的这意味着任何人都可以查看和修改它的源代码。这使得用户可以定制设备的行为或者添加新的功能。 活跃的社区OpenWrt 有一个活跃的开发和用户社区用户可以从社区获取帮助或者分享他们的经验和知识。
这里我需要使用NGINX接下来介绍如何在openwrt上安装NGINX
安装
查看系统版本
cat /etc/openwrt_release这段信息是 OpenWRT 系统的版本和硬件信息。解释如下 DISTRIB_ID这是你的操作系统的名称这里是 OpenWrt。 DISTRIB_RELEASE这是你的 OpenWrt 版本的发行代号这里是 SNAPSHOT表示这是开发版本。 DISTRIB_TARGET这是 OpenWrt 的目标平台或体系结构这里是 ‘rockchip/armv8’意味着这个固件是为 rockchip 平台的 ARMv8 架构编译的。 DISTRIB_ARCH这是 OpenWrt 的目标硬件架构这里是 ‘aarch64_generic’表示这个固件是为通用的 64 位 ARM 架构编译的。 DISTRIB_TAINTS这是内核的 “污点”用来表示可能影响内核稳定性或安全性的因素。‘no-all’ 表示没有这样的因素。 DISTRIB_REVISION这是 OpenWrt 的修订版本这里是 ‘R22.11.13’。 DISTRIB_DESCRIPTION这是 OpenWrt 的描述信息这里只有 OpenWrt 可能是由于这是一个开发快照版本所以没有更多的描述信息。
使用的是 OpenWrt 的一个开发版本针对 rockchip 平台的 ARMv8 架构编译没有任何已知的内核问题。
修改系统镜像源
在国内由于网络问题使用海外的软件源可能会比较慢所以更改为国内的镜像源。这里我使用的是腾讯的镜像源
vi /etc/opkg/distfeeds.conf具体内容如下
src/gz openwrt_core https://mirrors.cloud.tencent.com/openwrt/releases/22.03.0/targets/rockchip/armv8/packages
src/gz openwrt_base https://mirrors.cloud.tencent.com/openwrt/releases/22.03.0/packages/aarch64_generic/base
src/gz openwrt_luci https://mirrors.cloud.tencent.com/openwrt/releases/22.03.0/packages/aarch64_generic/luci
src/gz openwrt_packages https://mirrors.cloud.tencent.com/openwrt/releases/22.03.0/packages/aarch64_generic/packages
src/gz openwrt_routing https://mirrors.cloud.tencent.com/openwrt/releases/22.03.0/packages/aarch64_generic/routing
src/gz openwrt_telephony https://mirrors.cloud.tencent.com/openwrt/releases/22.03.0/packages/aarch64_generic/telephony最后更新 opkg 的软件包列表
opkg update卸载之前的版本
opkg remove --force-removal-of-dependent-packages nginx-utilopkg remove nginx nginx-util安装NGINX
opkg install nginx报错问题
Error relocating /usr/bin/nginx-util: _ZNSt15__exception_ptr13exception_ptr9_M_addrefEv: symbol not found
Error relocating /usr/bin/nginx-util: _ZSt28__throw_bad_array_new_lengthv: symbol not found
Error relocating /usr/bin/nginx-util: _ZNSt15__exception_ptr13exception_ptr10_M_releaseEv: symbol not found
Error relocating /usr/bin/nginx-util: _ZNSsC1ENSs12__sv_wrapperERKSaIcE: symbol not found
Error relocating /usr/bin/nginx-util: _ZNSt15__exception_ptr13exception_ptr9_M_addrefEv: symbol not found
Error relocating /usr/bin/nginx-util: _ZSt28__throw_bad_array_new_lengthv: symbol not found
Error relocating /usr/bin/nginx-util: _ZNSt15__exception_ptr13exception_ptr10_M_releaseEv: symbol not found
Error relocating /usr/bin/nginx-util: _ZNSsC1ENSs12__sv_wrapperERKSaIcE: symbol not found
nginx_init: NOT using conf file!可能出现这个问题的一个原因是你的设备缺少这个库文件或者这个库文件的版本和 nginx-util 不兼容。在 C 程序中这些符号通常是由某个 C 标准库提供的。从错误信息来看这些符号看起来是由 C 的 std::string 类和 std::__exception_ptr::exception_ptr 类提供的。
opkg remove libstdcpp
opkg update
opkg install libstdcpp编辑nginx.conf文件
把默认配置文件改名/etc/nginx/uci.conf改成uci.conf.bak
然后新建一个文件nginx.conf
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 8000;server_name localhost;location / {root /data/nginxweb/html;index index.html index.htm;}}}启动nginx并加入自动启动
chmod x /etc/init.d/nginx
/etc/init.d/nginx enable
/etc/init.d/nginx start效果
这里拷贝了openResty的index.html页面可以指定为自己的