Armbian系统新装后的必要设置

By | 2024-12-24

Armbian系统新装后的必要设置

  1. 系统更新(必要)

    • 更新软件包列表:使用sudo apt - get update命令。这会获取最新的软件包信息,包括与Docker相关的软件包以及系统基础组件的更新情况。因为新安装的Armbian系统可能存在旧版本的软件,而这些软件可能有安全隐患或者与Docker的兼容性问题。

    • 升级软件包:执行sudo apt - get upgrade命令,将系统中的软件包升级到最新版本。这有助于修复系统漏洞,提高系统的稳定性,并且确保后续安装和运行Docker以及网页应用服务能够顺利进行。

      sudo apt update && sudo apt full-upgrade -y
      
  2. 安装Docker(关键步骤)

    • 安装依赖包:运行sudo apt - get install apt - transport - https ca - certificates curl gnupg lsb - release命令,这些依赖包是安装Docker所必需的,用于确保安全地获取和安装Docker相关组件。

      sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
      
    • 添加Docker的官方GPG密钥:通过命令curl - fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker - archive - keyring.gpg添加密钥,用于验证下载的Docker软件包的真实性。

    • 设置Docker软件源:根据Armbian系统版本(假设基于Ubuntu),添加Docker软件源。例如,如果是Ubuntu Jammy(22.04),可以使用命令sudo add - apt - repository "deb [arch=$(dpkg --print - architecture)] https://download.docker.com/linux/ubuntu jammy stable"

    • 安装Docker引擎:使用sudo apt - get install docker - ce docker - ce - cli containerd.io命令安装Docker引擎及其相关组件。安装完成后,使用sudo systemctl enable docker && sudo systemctl start docker命令启动并设置Docker服务开机自启。

  3. 配置网络(重要)

    • 检查网络连接:通过ifconfig或者ip a命令检查有线网络连接情况。如果是通过有线连接并且没有自动获取到IP地址,可以通过编辑/etc/network/interfaces或者/etc/netplan/*.yaml(取决于Armbian版本)来配置静态IP地址或者重新获取动态IP地址。

    • 端口转发(如果需要):如果要将网页应用服务(如Nginx)暴露给外部网络,可能需要在路由器上设置端口转发。例如,将外部端口80(HTTP)和443(HTTPS)转发到Armbian设备的内部IP地址对应的端口上,这样外部用户才能访问这些网页服务。

  4. 安装和配置网页应用服务(核心操作)

    • MariaDB:使用Docker命令docker run - - name mariadb - container - e MYSQL_ROOT_PASSWORD=your - password - d mariadb:latest来运行MariaDB容器。其中,- - name指定容器名称,- e设置环境变量(这里是设置MariaDB的root密码),- d表示在后台运行容器。根据需要,还可以挂载数据卷来持久化数据,例如- v /your/local/data/path:/var/lib/mysql

    • Nginx:运行docker run - - name nginx - container - p 80:80 - d nginx:latest来启动Nginx容器。- p参数用于将主机的端口80映射到容器的端口80,这样外部访问主机的80端口就能访问到容器内的Nginx服务。

    • PHP:对于PHP服务,根据具体应用场景,例如如果要和Nginx一起运行一个PHP - FPM服务,可以使用docker run - - name php - container - - link nginx - container:nginx - - v /your/local/php - code/path:/var/www/html - d php:latest。这里- - link用于将PHP容器和Nginx容器连接起来,- v参数用于挂载本地的PHP代码路径到容器内的网页根目录。

    • OpenWrt(如果需要):如果要运行OpenWrt容器,需要根据具体的OpenWrt镜像和应用场景来配置。例如,docker run - - name openwrt - container - d openwrt:latest。不过,在实际应用中,可能需要更多的网络配置和自定义设置来将OpenWrt容器集成到现有网络环境中。

  5. 存储配置(根据需要)

    • 数据卷挂载(推荐):对于MariaDB、Nginx等应用服务,为了防止数据丢失,建议使用数据卷挂载。例如,在运行MariaDB容器时,除了前面提到的挂载/var/lib/mysql目录,还可以定期备份这个数据卷中的数据到其他存储设备或者云端。

    • 查看存储使用情况:使用df - h命令定期查看系统存储使用情况,包括Docker容器使用的存储。这样可以及时发现存储不足的情况,尤其是在运行多个容器或者处理大量数据的网页应用时。

  6. 安全设置(不可忽视)

    • 防火墙设置:使用Armbian自带的防火墙工具(如ufw)或者Docker的安全功能来设置访问规则。例如,通过ufw可以限制只允许特定端口(如80和443用于网页服务)的入站流量,禁止其他不必要的访问。同时,在Docker中,可以设置容器间的访问限制,防止容器之间的非法访问。

    • 容器安全加固:对于每个运行的容器,遵循安全最佳实践进行加固。例如,保持容器内软件的更新,避免在容器内使用root权限运行不必要的服务,以及对容器内的敏感数据进行加密等。

  7. 监控和日志(有助于维护)

    • 安装监控工具(可选):在主机上安装监控工具(如prometheusgrafana)来监控Docker容器的性能指标,如CPU使用率、内存使用率、网络流量等。这有助于及时发现性能问题或者异常情况。

    • 日志管理:配置每个容器的日志输出,将容器的日志收集到主机上的集中日志管理系统(如rsyslog或者fluentd)。通过分析日志,可以发现应用服务运行过程中的错误或者潜在风险。