云终端设备模拟部署流程

前提

云终端处理器AMD A4 micro 6400T,四核四线程,主频1Ghz,boost1.6Ghz,2G ram,64G msata。在物理机到达前,先使用模拟器进行模拟部署。

模拟器:VMpro17,base i7-9750H,主频2.6Ghz,分配四核心,2G RAM,64G ROM,安装Ubuntu Server LTS 22.04.4,一切默认,使用完整安装,跳过一切,使用50GB空间,不预选任何选项,安装openssh。

目标

部署docker环境,部署Nginx环境,尝试迁移HiNAS的web

事前准备

添加root密码

sudo passwd root

允许SSH使用root登录

sudo vi /etc/ssh/sshd_config

修改内容PermitRootLogin yes

部署Docker

安装Docker依赖

apt-get install ca-certificates curl gnupg lsb-release

添加Docker官方GPG密钥

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

添加阿里源作为Docker软件源

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

使用apt命令安装Docker

apt-get install docker-ce docker-ce-cli containerd.io

安装部分工具

apt-get -y install apt-transport-https ca-certificates curl software-properties-common

使用docker -v查看版本

开启守护进程

sudo systemctl enable docker

安装Portainer

我选择使用汉化版本的容器,以便于自己的使用习惯

docker run -d --name portainer -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data 6053537/portainer-ce

进入localhost:9000,设置好自己的账号密码

简单拉取一个yidadaa/chatgpt-next-web

使用localhost:3000可以看见容器正运行

部署Nginx

apt安装Nginx

sudo apt install nginx

开启守护进程

sudo systemctl enable nginx

预先开启防火墙端口

sudo ufw allow 'Nginx Full'

进入localhost

迁移HiNAS内容

使用SFTP直接导入整个文件夹

包括/var/www/内的文件夹以及/etc/nginx/locations.d文件夹

效果基本可行,但是缺乏PHP环境

安装PHP环境

添加源

sudo add-apt-repository ppa:ondrej/php

安装HiNAS同版本php
sudo apt update
sudo apt install php7.4-fpm php7.4 php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-mysql php7.4-mbstring php7.4-zip php7.4-gd php7.4-curl php7.4-xml php7.4-imagick php7.4-sqlite3

覆盖/etc/php/7.4文件夹

导入default文件进/etc/nginx/sites-available/,执行链接命令

sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/

同理HiNAS下其它文件

可见web显示正常,web已经整体迁移

如果需要cronweb,修改sudo权限

sudo visudo

添加以下内容

www-data ALL=(ALL) NOPASSWD: /usr/bin/crontab

接下来,Web中的老应用将在剩下的文章中单独编写