从零开始搭建一个完整的服务器包含监控,自动化部署,容器管理,内网穿透等

需求分析

一个完善的服务器需要配置以下环境:

  1. 操作系统:选择合适的操作系统,如 Linux、Windows Server 等。

  2. 安全配置:包括网络安全、系统安全等,确保服务器的数据和系统安全。

  3. 数据库服务:提供数据库服务,并根据需要安装相应的数据库软件,如 MySQL、PostgreSQL 等。

  4. Web 服务器:提供 Web 服务,可选择 Apache、Nginx 等 Web 服务器软件。

  5. 应用服务器:提供应用程序服务,如 Tomcat、Jboss、Weblogic 等。

  6. 编程语言环境:根据所需的开发语言环境配置相关开发工具和运行环境。

  7. 版本控制工具:如 Git、SVN 等版本控制工具。

  8. 日志管理工具:如 Log4j、Logback 等。

  9. 自动化部署工具:如 Jenkins、Travis CI 等自动化部署工具。

  10. 监控和统计工具:例如 Zabbix、Grafana 等,用于监控服务器的性能和状态。

  11. 容器化环境:如 Docker、Kubernetes 等。

  12. 可视化管理界面:如 cPanel、Plesk 等可视化管理界面,用于方便地管理服务器。

以上是一个完善的服务器需要配置的环境,可以根据具体的需求进行选择和配置,以满足不同的应用场景。

操作系统选择

我们选择Centos7 作为服务器的操作系统,在安装界面中选择基本的开发环境并配置好root用户和密码,网络设置为桥接模式,等待安装完成,进入命令行界面输入账号和密码。

网络配置

打开终端,并使用 root 用户登录。
使用命令 “ip addr” 查看所有网络接口的详细信息。

ip addr

在输出信息中找到当前正在使用的对外链接网络设备对应的行,查看该行的开头部分,示例如下:

em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000

其中,“em1” 就是当前正在使用的网络设备名称。
在这里插入图片描述

检查当前网络状态,使用 ping www.baidu.com 检查网络通信是否正常

ping www.baidu.com

如果没有正常返回,则进行以下步骤:

  • 编辑配置文件 /etc/sysconfig/network-scripts/ifcfg-em1,其中,把ifcfg-eth0改为你正在使用的网络设备名称,如ifcfg-ens33,或者ifcfg-eth0等;

  • 可以通过使用 ll /etc/sysconfig/network-scripts/ 来查看文件夹内的具体信息,其中白体字便是你可以编辑的配置文件
    示例中em1为正在使用的网卡名称

  • 输入命令 vi /etc/sysconfig/network-scripts/ifcfg-你的网络设备名称,例如:

vi  /etc/sysconfig/network-scripts/ifcfg-em1
  • 进入vi界面后,输入I后进入编辑界面(大小写均可),将 BOOTPROTO 字段的值修改为dhcp,示例配置如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=em1
UUID=cb16560d-41c1-48f1-8af6-caae019d701e
DEVICE=em1
ONBOOT=yes
  • 一般来说只需要更改BOOTPROTO的值即可,其余值不需要进行更改,否则可能会出现问题
  • 修改完成后输入ESC并输入后,进入命令行,输入wq保存并关闭vi界面,如果不想保存可以输入q!不保存强制退出vi界面。
  • 而后输入 systemctl restart network 重启网络服务
systemctl restart network
  • 校验网络是否配置成功,再次输入ping www.baidu.com 即可
  • 如果依然无法联网,那么可能是配置文件没有完全修改成功,检验NAME,DEVICE是否为你与外界联通的网卡设备名称,以下为配置文件各字段的具体含义:
TYPE:网络接口类型,通常为 Ethernet。
PROXY_METHOD:代理方法,通常为 none。
BROWSER_ONLY:是否仅限浏览器访问,通常为 no。
BOOTPROTO:IP 地址获取方式,通常可以选择 dhcp 或 static 两种方式,默认值为 dhcp。
DEFROUTE:是否将该网卡设为默认路由,通常为 yes。
IPV4_FAILURE_FATAL:IPv4 是否失败致命,通常为 no。
IPV6INIT:是否启用 IPv6,通常为 yes。
IPV6_AUTOCONF:IPv6 是否自动配置,通常为 yes。
IPV6_DEFROUTE:IPv6 是否设为默认路由,通常为 yes。
IPV6_FAILURE_FATAL:IPv6 是否失败致命,通常为 no。
IPV6_ADDR_GEN_MODE:IPv6 地址生成模式,通常为 stable-privacy。
NAME:网卡名称,与 DEVICE 字段一致,不可重复。
UUID:网卡的唯一标识符,根据各个系统的情况而定。
DEVICE:网卡设备名称,与 NAME 字段一致,不可重复。
ONBOOT:是否开机自动启用,通常为 yes。

以上各字段的配置可能会因具体情况而有所不同,但大部分情况下都需要设置 BOOTPROTO、DEFROUTE、NAME、DEVICE 和 ONBOOT 等字段,以保证网络连接的正确性和稳定性。如果你需要根据实际情况进行调整,请参考上述各字段的含义,并结合具体场景进行修改。

防火墙与yum源配置

为了方便后续操作,首先需要停止系统的防火墙服务
停止 firewalld 服务:使用如下命令停止 firewalld 服务

systemctl stop firewalld.service

查看 firewalld 状态:使用如下命令查看 firewalld 状态

systemctl status firewalld.service

如果显示active为inactive状态,即成功关闭了防火墙服务,如图所示:
在这里插入图片描述

而后更换yum源为阿里源,由于网络环境和软件版本等因素的影响,使用阿里云源可能会导致某些软件包不能正常升级或安装,因此我们在使用前先备份好相关数据。

备份原有的 CentOS-Base.repo 文件:使用如下命令备份即将被替换的原文件,以便需要时可以进行恢复。

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

下载阿里云的 CentOS-Base.repo 文件:使用如下命令下载阿里云的 CentOS-Base.repo 文件,该文件中包含了阿里云的 yum 源地址和相关配置信息。

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清除缓存并重新生成索引:使用如下命令清除 yum 缓存,并重新生成 yum 索引,以便能够快速地获取最新的软件包列表。

sudo yum clean all
sudo yum makecache

完成以上步骤后,你已经成功将 CentOS 7 的 yum 源更换为阿里云的源,可以使用如下命令来测试是否生效:

sudo yum update

如果一切正常,CentOS 7 将会从阿里云的源中更新软件包。

yum配置完成后,可以下载安装其余工具
例如:

yum install -y wget #安装wget 用来从网络上下载文件 方便快捷
yum install -y vim #安装vim 高级文本编辑器 配置文件时经常使用
yum install -y net-tools #使用ifconfig时需要 用于配置和查看网络接口的命令行工具
yum install -y curl #curl可以从远程服务器获取或上传文件、发起 HTTP 请求、测试 API 等

docker安装与配置

使用 Docker 可以轻松地创建、部署和运行应用程序,学习和使用 Docker 已经成为了现代云原生开发不可或缺的技能之一。
在 Linux 操作系统上安装 Docker 非常简单,可以按照以下步骤进行:

  1. 安装依赖:在执行 Docker 安装之前,需要先安装一些必要的依赖项,使用如下命令进行安装:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加 Docker 软件源:执行以下命令添加 Docker 软件源:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker:使用下面的命令安装 Docker:

sudo yum install docker-ce docker-ce-cli containerd.io

启动 Docker 服务:执行以下命令启动 Docker 服务:

sudo systemctl start docker

验证 Docker 安装:使用如下命令验证 Docker 是否已经成功安装:

sudo docker run hello-world

安装完成后,我们可以使用 Docker 命令来启动、停止容器等管理操作。
使用如下命令查看docker所有容器

sudo docker ps -a

可以看到容器ID,使用的镜像文件,创建时的文件映射命令,创建时间,运行状态,容器端口等信息
在这里插入图片描述

docker容器管理平台部署

Portainer 是一款强大、灵活、易用的 Docker 管理平台,它提供了一个直观、用户友好的 Web 界面,方便用户对容器、镜像、网络、卷等进行管理。
Portainer的安装特别简单,只需要一条命令即可解决:

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

执行后输入docker ps 看到6053537/portainer-ce 则表示安装完成

docker ps

而后进入Portainer 的web界面,输入服务器IP地址:9000 即可进入管理界面
使用ip addr 或者 ifconfig命令找到对外链接的网络设备名称,其中的inet即为服务器的ip地址。如何找到对外链接的网络设备已经在前文中有过讲解,这里不再讲解。在这里插入图片描述
如果是虚拟机或者与服务器网络在一个局域网中的,可以使用服务器IP地址:9000 进入Portainer 的web界面,而如果不在一个局域网中,则需要使用服务器的公网IP,没有公网则需要将服务器进行内网穿透,这一部分在后续讲解。

进入web界面后你需要设置账号和密码,从而进入管理界面,而后按照以下步骤进行操作:
点击local选择容器环境
在这里插入图片描述

而后可以看到以下界面,点击Containers进入容器管理界面:

在这里插入图片描述
在容器管理界面中我们可以对容器进行启动,终止,重启,删除,添加等操作
在这里插入图片描述
我们可以使用portainer快速搭建诸如mysql,redis,es,rabbitmq等服务

服务器运维面板安装与部署

1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。
可以在这里查看他的官方文档。
1Panel 的安装部署也非常简单,直接执行该行命令即可

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

而后可通过浏览器访问如下页面登录 1Panel:

http://目标服务器 IP 地址:目标端口
默认为21840端口访问

进入页面注册账号密码后可以看到如下界面
在这里插入图片描述
点击应用商店能够快速部署一些应用,诸如mysql,wordpress,DataEase等,但是一键部署不等于什么都不需要做,部分应用的配置还是需要自行解决,且需要相关的知识储备,但如果不需要搭建复杂服务,可以直接使用。
在这里插入图片描述

docker中安装mysql实现主从同步

搭建的mysql版本:5

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值