导学:综合架构环境准备
综合架构环境
添加网卡
eth0 | nat模式 | 10.0.0.210 | 模拟公网 |
eth1 | lan区段网卡 | 172.16.1.210 | 局域网 |
[root@localhost network-scripts]# cat ifcfg-eth1 NAME=eth1 DEVICE=eth1 IPADDR=172.16.1.210 PREFIX=24 ONBOOT=yes BOOTPROTO=static #不需要网关和DNS systemctl restart network # 重启网卡
xshell优化
解决xshell远程连接Linux很慢问题
sed -i '/^GSSAPIAuthentication/s@^@#@g' /etc/ssh/sshd_config cat >>/etc/ssh/sshd_config<<EOF UseDNS no # 相当于网络命令中的-n选项 GSSAPIAuthentication no # 关闭GSS认证 EOF systemctl restart sshd # 重启sshd服务
命令行颜色
# 将下列代码写到/etc/profile中 export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$ ' # PS1是系统环境变量,用于控制命令行格式样式
系统优化
关闭防火墙、seLinux
# firewalld systemctl stop firewalld systemctl disable firewalld # seLinux sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config setenforce 0 # 零时修改 getenforce # 结果只要不是enforcing就表示关闭
配置yum源
# 备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # 修改base源为阿里云 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 增加epel源 wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo # 清除缓存 yum clean all # 查看yum源 yum repolist
安装常用工具
yum install -y tree vim wget
bash completion bash-completion-extras lrzsz net tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect
时间同步
# 修改时区(不对则修改) timedatectl status # 查看时间,时区等详细信息 timedatectl set-timezone Asia/Shanghai # 修改时区为上海 # 配置定时时间同步 yum install -y ntpdate [root@localhost ~]# crontab -l # 1.sync time */2 * * * * /sbin/ntpdate ntp1.aliyun.com &>/dev/null
修改主机名和hosts文件⭐⭐
- 修改主机名:hostnamectl set-hostname yuanxiaojiang
- hosts解析:方便使用主机名进行访问
cat >>/etc/hosts <<EOF 172.16.1.5 lb01 172.16.1.6 lb02 172.16.1.7 web01 172.16.1.8 web02 172.16.1.9 web03 172.16.1.10 web04 172.16.1.31 nfs01 172.16.1.41 backup 172.16.1.51 db01 172.16.1.61 m01 EOF
一键修改主机名和ip地址的脚本⭐⭐⭐
# 脚本用法 sh /server/scripts/change.sh 主机名 10.0.0.7 [root@yuanxiaojiang ~]# cat /server/scripts/change.sh #!/bin/bash #author: yuanxiaojiang #desc: change ip and hostname #version: v7.0 # 判断参数个数是否为2 [ $# -ne 2 ] && { echo "脚本使用格式不对" echo "正确格式:$0 主机名 ip地址" exit 1 } #获取当前主机ip地址 ip=`hostname -I |awk '{print $1}'|sed 's#.*\.##g'` #新的ip ip_new=`echo $2 |sed 's#^.*\.##g'` #新的主机名 hostname=$1 #修改ip sed -i "s#10.0.0.$ip#10.0.0.$ip_new#g" /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i "s#172.16.1.$ip#172.16.1.$ip_new#g" /etc/sysconfig/network-scripts/ifcfg-eth1 #重启网卡 systemctl restart network #修改主机名 hostnamectl set-hostname $hostname
综合架构(网站的结构)
综合架构图⭐⭐⭐⭐⭐
角度 | 说明 | 相关操作 |
开发角度 | 主要关注代码的书写,这些代码需要服务器运行 | 代码存放、代码提交给运维、运维部署代码、测试代码 |
用户角度 | app或浏览器访问网站,整个访问流程中涉及到的服务,功能 | 整个网站架构的核心 |
运维角度 | 如何快速部署环境,自动化部署,自动化监控,堡垒机 | 自动化维护、自动化监控、故障修复 |
CDN(content delivery network 内容分发网站)
CDN的工作原理:将源站的资源缓存到位于全国各地的CDN节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、分担源站压力,保证用户访问资源的速度和体验。(分布式缓存用于缓存静态资源,图片、视频、js、html文件)
技术栈
角度 | 功能 | 服务 |
开发角度 | 存放代码 | Gitlab,Gogs,Github,Gitee(码云) |
集成、发布 | Jenkins | |
代码检查 | Sonarqube | |
私服:类似于软件包仓库,给Java用 | Nexus | |
用户角度 | DNS解析 | DNS云解析(阿里),Bind9,DNSmasq,CoreDNS |
CND缓存 | 各种厂商的CDN服务:CND(阿里云),蓝汛(专做CDN) | |
防火墙 |
硬件防火墙:深信服,奇安信,华为 软件:firewalld,iptables 公有云:安全组,态势感知,云安全中心 |
|
负载均衡 |
硬件:F5 软件:nginx,tengine,lvs,openResty |
|
WEB网站服务器 |
基本:nginx、tengine、openResty 架构: LNMP(PHP):Linux,Nginx,Mysql,PHP LNMT(Java):Linux,Nginx,Mysql,Tomcat LNMP(Python):Linux,Nginx,Mysql,Python LNMG(Golang):Linux,Nginx,Mysql,Golang |
|
缓存服务器 | Redis,Kafka | |
数据库服务器 | Mysql,Oracle,Mariadb | |
存储 |
硬件存储 软件存储:NFS,分布式存储 对象存储:阿里云OSS,腾讯COS |
|
实时同步 | SerSync,Lsyncd | |
备份 | 定时任务,脚本,打包压缩,Rsync | |
运维角度 | VPN | OpenVPN |
堡垒机 | 开源:Teleport,jumpserver | |
批量管理 | Ansible,SaltStack,Puppet,Chief | |
监控 | Zabbix,Grafana,Prometheus(普罗米修斯) | |
日志收集平台 |
Elastic Stack |
|
审计 |
SQl审计:Yearning,Archery 操作/行为审计(堡垒机) |
|
安全 |
商业:AppScan,Nessus,OWASP 开源:ClamAV |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现