老E的博客

  • 首页
  • 关于
  • 技术应用
    • VPS相关
    • AI相关
    • 盒子相关
    • 其他
  • 订阅Youtube频道
  • 网络加速
    • expressvpnNo.1 ExpressVPN
    • 最佳免费VPN-PrivadoVPN
    • NordVPN
    • 廉价王者-Surfshark
    • PrivateInternetAccess
    • 解锁一切-PrivateVPN
  • 公益资源
    • AI导航
    • 工具下载
    • Docker镜像加速
  • 友情链接
    • tickcloudTickcloud
老E的博客
专注记录并分享跨境技术应用及随想
  1. 首页
  2. 技术应用
  3. 其他
  4. 正文

操作指引--电视盒子安装ChatGPT、Jellyfin等服务并实现公网访问

2023年6月16日 1814次阅读 0条评论
clawcloud
expressvpn best vpn
privado vpn
surfshark vpn
private vpn
pia vpn
nord vpn

本文为操作指引,所有“#”标注的指令均为可选。

#armbian-software #software id:101

1.启用Docker IPv6支持

docker network inspect bridge 
ip -6 route show #2409::1/64 
vim /etc/docker/daemon.json

拷贝进如下内容

{ 
  "ipv6": true, 
  "fixed-cidr-v6": "2409::1/64", #用ip -6 route show获取的IPv6前缀替换 
}
systemctl reload docker && systemctl restart docker 
docker network inspect bridge

2.拉取nginx镜像并创建容器

docker pull nginx

docker默认采用bridge方式加载运行容器网络,docker会在主机上创建一个名为docker0的虚拟网桥,为从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。docker在主机上创建一对虚拟网卡veth pair设备,Docker将veth pair设备的一端放在新创建的容器中,并命名为eth0(容器的网卡),另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中。

docker run --name mynginx -p 10081:80 -d nginx 
#curl 127.0.0.1:10081

3.配置mynginx容器、宿主机映射挂载配置文件和网页文件

mkdir -p /home/dockers/nginx/{html,conf,log} 
docker cp mynginx:/etc/nginx/nginx.conf /home/dockers/nginx/conf 
docker cp mynginx:/usr/share/nginx/html /home/dockers/nginx 
docker cp mynginx:/var/log/nginx /home/dockers/nginx/log 
docker stop mynginx 
docker rm -f mynginx 
#vim /home/dockers/nginx/conf/default.conf 
vim /home/dockers/nginx/conf/nginx.conf

4.修改nginx.conf配置文件

user nginx;
worker_processes auto; 
events
{
 worker_connections 512; 
} 
http { 
  log_format '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent '
  '"$http_referer" "$http_user_agent"'; 
  access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; 
  server { 
      listen [::]:port1; 
      proxy_set_header Host $host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      location / { 
           proxy_pass http://localhost:8096;
      }
  } 
  server {
     listen [::]:port2; 
     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     location / { 
     proxy_pass http://localhost:10085;
   }
 } 
 #include conf.d/default.conf 
}

此处采用host网络模式创建、加载容器,mynginx容器与宿主机在同一个网络中,但没有独立IP地址。容器在host模式下,不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,可以直接使用宿主机的IP和端口。

docker run --name mynginx --net host \
 -v /home/dockers/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
 -v /home/dockers/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf \
 -v /home/dockers/nginx/html:/usr/share/nginx/html \
 -v /home/dockers/nginx/log:/var/log/nginx -d nginx

5.验证与调优

(1)关注防火墙状态和放行情况

ufw delete allow 8096/tcp 
ufw delete allow 10085/tcp 
ufw allow 3388 
ufw allow 3399 
ufw reload

(2)可以修改DNS服务器上的A记录,如由二级域名(如www)修改为@,简化浏览器输入。

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: armbian ChatGPT Linux系统运维 nas
最后更新:2024年6月2日

老E

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

站内搜索
归档
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 7 月
  • 2023 年 6 月

Copyright ©2023-2025 Appscross. All Rights Reserved.