缘起

开源实例之自建服务器下篇:工控机部署

我的个人小服务器

n3540小主机介绍(更详细的查看开杜俊源实例之自建服务器下篇:工控机部署)

配置 参数 备注
品牌 跨链 工控小主机
CPU 英特尔奔腾 N3540 4 核 2.16GHz
内存 海力士 DDR3L 1600MHz 8GB
硬盘 mSATA P800 256GB
主板 研域 ITX-WM562 工业主板
数据接口 1 个 USB2.0、1 个 USB3.0
视频接口 1 个 HDMI、1 个 VGA
网络接口 1 个千兆网口 8111E/F
电源接口 1 个 DC 12V 3A
尺寸 20CM x 20CM x 3.5CM
功耗 TDP 7.5W
噪音 完全静音 全铝合金被动散热,无风扇
其他功能 来电自启、网络唤醒

小黄鱼蹲了一个月最终242入手了一台内存4g的。

n3540

n3540安装debian11系统

准备工作

  • n3540小主机
  • 网线
  • u盘启动盘
  • 写盘工具
  • debian11系统
  • hdmi线和显示器

  • 键盘和鼠标

  • u盘拓展坞。(由于n3540只有两个usb接口,在插上启动盘后就只剩下一个usb口不够连接键盘和鼠标。)

系统我选择的是debian-11.8.0-amd64-netinst.iso

debian其他历史版本

写盘工具使用的是balenaEtcher,也可以使用rufus等其他写盘工具。

所有线连接好,写好镜像的u盘启动盘也插入完毕,然后就通电开机,与此同时连续点击键盘的delete键进入bios,把u盘启动设置成第一启动项

  • 设置U盘作为第一启动项

启动盘

再次断电开机就可以进入系统的引导安装界面。安装系统按照提示安装。注意安装的过程把ssh sever勾选上,便于后续ssh连接。

ssh连接工具可选finalshell,xshell,putty等。建议把n3540的ip固定,不要让路由器自动分配ip。

ssh连接

唯一需要注意的是n3540的网段和win电脑的网段需要一致,即连接同一个wifi。

比如n3540的ip是192.168.8.5,那么win电脑就必须是192.168.8.,\可以是2-244之间的任意数字。

连接成功

debian11系统配置

本人在尝试搭建完毕后,发现过15-20分钟设备就会断网,后来发现是由于长时间没有操作就会进入节电模式自动息屏断网,就和windows系统一样长时间不操作就会锁屏网自然也会断开。

  • 解决方法:电源配置,把息屏改为从不,自动挂起改为关。

修改电源配置

  • 修改了以上之后,n3540也就持续运行一天左右就又断网了,使用如下命令编辑logind.conf文件
1
vim /etc/systemd/logind.conf

1
HandleLidSwitch=ignore

“HandleLidSwitch=suspend” 是一个配置选项,通常用于控制笔记本电脑关闭盖子(lid switch)时的行为。在Linux系统中,特别是使用systemd作为初始化系统的情况下,可以通过编辑 /etc/systemd/logind.conf 文件来设置这个选项。

具体来说,”HandleLidSwitch=suspend” 表示当关闭笔记本电脑的盖子时,系统会执行暂停(suspend)操作,将电脑置于低功耗状态,以节省能源并在需要时快速恢复。

你可以根据自己的需求修改这个选项,例如设置为其他操作,如 “HandleLidSwitch=ignore” 表示关闭盖子时不执行任何操作,或者 “HandleLidSwitch=poweroff” 表示关闭盖子时直接关机。修改完配置后,记得重启系统或者重新加载 systemd 服务以使更改生效。

  • 把当前用户添加到sudo

1、首先切换到root用户

1
su - root

这个命令用于切换用户身份到root(超级用户)。通过”su - root”,你可以登录为root用户并获取其权限,允许执行需要超级用户权限的操作。

2、安装sudo包

1
apt install sudo

sudo(Superuser Do)是一个用于允许授权用户以其他用户的身份执行命令的工具。它通常用于执行需要超级用户权限的操作,而不必完全切换到root用户。sudo的使用可以提高系统安全性,因为它允许对特定命令进行授权,而不是赋予用户完整的超级用户权限。

3、将用户添加到”sudo”用户组

1
usermod -aG sudo pkumar

这个命令将用户”pkumar”添加到”sudo”用户组中。这样,用户”pkumar”就具有了执行管理员(sudo)命令的权限。把”pkumar”替换成自己的用户名。

4、之后就可以使用

1
sudo -i

来获取root权限了。

  • 更新软件包和安装常用软件
1
apt update -y  && apt upgrade -y && apt install -y curl wget sudo socat nano

安装maccms

安装docker和docker-compose

1
2
3
4
5
curl -fsSL https://get.docker.com | sh

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

创建docker-compose文件文件

1
2
3
4
5
6
7
8
9
cd root

mkdir data/docker_data/maccms

cd data/docker_data/maccms

touch docker-compose.yml

nano docker-compose.yml

粘贴如下

以下的docker-compose文件里面有三个服务,将启动三个容器来完成maccm的部署。

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
31
32
33
34
version: '3.3'
services:
# 苹果cms
maccms:
depends_on:
- db
build:
context: .
dockerfile: Dockerfile
image: aoliyougei/maccms:v1.3 #maccms10镜像,默认海螺模板,带萌芽采集插件
restart: always
ports:
- 800:80 #左边为主机端口,可以修改.
container_name: maccms
# mysql数据库
db:
image: mysql:5.7
restart: always
environment:
- MYSQL_ROOT_PASSWORD=%2020&@#ddd223 #数据库密码,可以修改
container_name: maccms-mysql
# phpmyadmin管理数据库
phpmyadmin:
depends_on:
- db
image: phpmyadmin:5.1-apache
restart: always
ports:
- 809:80
environment:
- PMA_HOST=db:3306
- PMA_USER=root
- PMA_PASSWORD=%2020&@#ddd223 #密码和上面的MYSQL_ROOT_PASSWOR保持一致
container_name: maccms-mysql-phpmyadmin

启动容器

1
2
3
cd data/docker_data/maccms

docker-compose up -d

启动成功后,浏览器输入ip:800端口就进入了系统安装界面

  1. 服务器地址:db
  2. 数据库端口:3306
  3. 数据库名称:maccms
  4. 数据库账号:root
  5. 数据库密码:在docker-cmopose.yml设置的MYSQL_ROOT_PASSWORD的密码

其他默认,点击测试连接数据库,连接成功,下一步

按照提示下一步安装即可,中间会提示创建网站后台的用户名和密码

浏览器输入http://你的设备ip/cmsadmin.php

输入用户名和密码就可以进入站点后台

容器的常用命令

  • 停止容器(需要在docker-compose.yml文件所在的目录执行)
1
docker-compose down
  • 重启容器(需要在docker-compose.yml文件所在的目录执行)
1
docker-compose restart
  • 启动容器(需要在docker-compose.yml文件所在的目录执行)
1
docker-compose up -d
  • 查看正在运行的 Docker 容器的 ID和名称
1
docker ps
  • 进入正在运行的容器
1
docker exec -it <container_name_or_id> /bin/bash
  • 停止容器
1
docker stop <container_name_or_id>
  • 删除所有停止的容器:
1
docker container prune -f
  • 删除所有未被使用的镜像:
1
docker image prune -a -f

更换模板(可以不做)

镜像里面的海螺主题模板比较旧,想替换成更高版本的海螺主题,可以参考如下步骤。

以上docker部署的应用,没有任何文件映射到本地。默认影视模板的位置在容器里面,所以想要替换模板,需要把本地的模板拷贝到maccms容器里面的对应模板位置进行替换。

  • 先停止容器
1
docker stop maccms
  • 拷贝模板文件到容器相应位置
1
docker cp /root/data/docker_data/maccms/conch 17b9613aa80b:/var/www/html/template/
  • 启动容器
1
docker start maccms

回到浏览器,ctl+f5强制刷新页面,就能看到模板替换成功了

网站后台设置

把模板设置添加到左侧菜单栏

进入后台把模板改为conch,然后自定义添加菜单配置添加如下

1
海螺主题设置,/cmsadmin.php/admin/conch/theme

保存,清理缓存,叉掉当前浏览器页面,新建浏览器页面,输入网站域名进入后台

先安装播放器再采集资源

资源采集

  • 找到要采集的资源后,先添加播放器

对于m3u8需要先添加播放器再采集资源,顺序不能反,顺序反了会导致打开影视没有播放器。保险起见,一律先添加播放器再采集资源。重要的事情说三遍:先添加播放器!先添加播放器!先添加播放器!

  • 安装并添加萌芽采集插件

应用,应用市场,启用萌芽pro插件;

首页,自定义菜单配置,添加如下代码,保存,清理缓存,刷新浏览器页面,最好新建浏览器页面重新进入网站后台

1
萌芽采集资源,mycj/union
  • 采集过程遇到的一些问题

无法采集

问题原因:字面意思,要么采集站没了无法访问,要么采集站把你的ip封了。

采集源站没了无解,只能换源。ip被封解决方法:联系源站把你的ip添加为白名单。

  • 其他常见问题解决办法

苹果cms采集提示:XML格式不正确,不支持采集

苹果cms采集提示:连接API接口失败,通常为服务器网络不稳定、IP被封、禁用相关函数!

使用crontab定时采集

  • debian安装cron
1
apt install cron
  • 创建文件/root/maccms_cj.sh,粘贴以下代码
1
2
3
4
5
a=$(curl -k 'http://192.168.8.5:8080/api.php/timming/index.html?enforce=1&name=ffzy')
b=$(curl -k 'http://192.168.8.5:8080/api.php/timming/index.html?enforce=1&name=mdzy')
echo $a
sleep 10
echo $b

采集几个原站就按照上面的规则添加几条,上面的采集了两个源站。

http://192.168.8.5:8080/api.php/timming/index.html?enforce=1&name=ffzy此部分的地址根据如下步骤获取

  1. 采集、自定义接口、右键采集当天、复制链接地址

  2. 系统、定时任务配置、添加定时任务配置,把上面复制的地址粘贴到附加参数后的输入框

  3. 定时任务配置页面,右键测试、复制链接地址

  • 添加任务
1
crontab -e

输入以下(如果是nano打开直接粘贴,如果是vi或者vim打开则输入i进入编辑模式再粘贴以下代码)

1
0 * * * * /root/maccms_cj.sh

这个Crontab表达式的含义是:

0:表示分钟,0表示每小时的0分钟。

*:表示每小时都执行。

*:表示每天都执行。

*:表示每月都执行。

*:表示每星期都执行。

即每天每隔一小时执行maccms_cj.sh脚本

  • 查看当前crontab任务
1
crontab -l
  • 删除当前crontab任务
1
crontab -r

Reference

  1. 安装海螺模板 显示缺少控制器 怎么解决
  2. 苹果CMS使用docker搭建方法,5分钟搭建一个影视网站.
  3. 苹果cms定时任务 Crontab设置苹果cms自动更新脚本
  4. Linux crontab 命令
  5. debian安装crontab
  6. Debian 11使用crontab创建定时任务)

  7. 苹果cmsv10萌芽采集插件安装教程

  8. 苹果cms采集提示:XML格式不正确,不支持采集
  9. 苹果cms采集提示:连接API接口失败,通常为服务器网络不稳定、IP被封、禁用相关函数!