传统网站部署流程

传统的网站部署,大家在运维过程中,网站部署是运维的工作之一,网站部署的流程大致分为:

需求分析— 原型设计—开发代码—-提交测试—-内网部署—-确认上线—-备份数据—外网更新(app )-最终测试—维护

服务器: 选型—购买-4C32G

云服务器:

阿里云,百度云,Ucloud,同方有云,金山云,青云,腾讯云,电信云

核心: 确保业务稳定+节省公司成本

部署和维护过程中需要技术栈

Jenkins, gitlab ,svn ,git, docker ,k8s
CI/CD

SVN版本控制器

svn介绍

SVN是Subversion的简称,是一个开放源代码的版本控制系统
git
CVS

官方网站:http://subversion.apache.org/

Windows客户端 TortoiseSVN:http://tortoisesvn.net/

SVN存储数据的方式

BDB,Berkeley DB,一种事务安全型表类型
FSFS,”FSFS” 采用文件系统的方式, 替代原来的基于Berkeley DB的实现。

独立服务器 3690端口 访问方式SVN:// C/S模式
借助apache运行 80端口 访问方式 http://

SVN的实现过程(单机版)

软件的安装

环境:

  1. [root@k8s-master ~]# cat /etc/redhat-release
  2. CentOS Linux release 7.7.1908 (Core)
  3. [root@k8s-master ~]# uname -r
  4. 3.10.0-1062.el7.x86_64
  5. [root@k8s-master ~]# ifconfig |grep inet |awk 'NR==1{print $2}'
  6. 192.168.3.71
  7. [root@k8s-master ~]#

安装:yum安装

  1. [root@k8s-master ~]# yum install -y subversion httpd mod_dav_svn
  2. [root@k8s-master ~]# cat /etc/services |grep svn |head -2
  3. svn 3690/tcp # Subversion
  4. svn 3690/udp # Subversion
  5. [root@k8s-master ~]#

SVN的配置

思考的过程:

Linux: 一切皆为文件

版本库目录:/webdept :存放某个项目的文件
版本库: 电商项目 (购物车模块,订单模块,搜索模块,图床系统)
www.itlaoxin.cn
www.laoxin.com

谁可以访问版本库
谁可以写入内容到版本

权限: 用户名和密码 passwd auth

实验思路:

  1. 在服务器中安装一个目录,这个目录叫版本库目录
  2. 在版本库目录中建立版本库
  3. 版本库中设置用户名和密码的权限,主配置修改
  4. 测试

在服务器中安装一个目录,这个目录叫版本库目录

  1. [root@k8s-master ~]# mkdir /webdept
  2. [root@k8s-master ~]# ls /webdept/
  3. [root@k8s-master ~]# cd /webdept/
  4. [root@k8s-master webdept]# ls
  5. [root@k8s-master webdept]#


在版本库中建立版本库目录

用到命令:svnadmin

  1. [root@k8s-master webdept]# svnadmin create www.itlaoxin.cn
  2. [root@k8s-master webdept]# svnadmin create www.laoxin.cn
  3. [root@k8s-master webdept]# ls
  4. www.itlaoxin.cn www.laoxin.cn
  5. [root@k8s-master webdept]# cd www.laoxin.cn/
  6. [root@k8s-master www.laoxin.cn]# ls
  7. conf db format hooks locks README.txt

dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据,刚开始新建时此目录没有
db目录:就是所有版本控制的数据存放文件
hooks目录:放置hook脚本文件的目录
locks目录:用来放置subversion监控锁定数据的目录,用来追踪存取文件库的客户端
format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等),也是我们要关注的配置文件

进入con目录:

  1. [root@k8s-master www.laoxin.cn]# cd conf/
  2. [root@k8s-master conf]# ls
  3. authz passwd svnserve.conf
  4. [root@k8s-master conf]#

authz: 认证相关的文件
passwd: 用户名和密码
svnserve: 配置文件相关的内容

修改主配置文件,svnserve.conf

  1. [root@k8s-master conf]# vim svnserve.conf
  2. [root@k8s-master conf]# grep -v ^# !$
  3. grep -v ^# svnserve.conf
  4. [general]
  5. anon-access = read
  6. auth-access = write
  7. password-db = passwd
  8. authz-db = authz
  9. realm = BeBEBE

修改passwd文件

  1. [root@k8s-master conf]# pwd
  2. /webdept/www.laoxin.cn/conf
  3. vim passwd
  4. [root@k8s-master conf]# grep -v ^# passwd |grep -v ^$
  5. [users]
  6. bosimao = 123456
  7. lonely_fly = 123456
  8. today_downsun = 123456
  9. 5cdc =123456
  10. [root@k8s-master conf]#

修改 authz

  1. [root@k8s-master conf]# grep -v ^# authz |grep -v ^$
  2. [aliases]
  3. [groups]
  4. Check = 5cdc,lonely_fly
  5. bosimao = rw
  6. @Check = r
  7. * =
  8. [root@k8s-master conf]#

启动SVN

  1. [root@k8s-master ~]# svnserve -d -r /webdept
  2. [root@k8s-master ~]# ps -aux |grep svn
  3. root 6328 0.0 0.0 197712 1036 ? Ss 15:27 0:00 svnserve -d -r /webdept
  4. root 6336 0.0 0.0 112728 972 pts/0 S+ 15:27 0:00 grep --color=auto svn
  5. [root@k8s-master ~]# netstat -antup |grep svn
  6. tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 6328/svnserve
  7. [root@k8s-master ~]#

svn的常用参数

import:将未版本化的文件纳入版本控制并提交
checkout:从版本库中检出一个修订版
update:更新工作拷贝
add,delete,copy,move:增、删、复制、移动文件或目录
status:检查状态差异
diff:检查文件行级详细差异
revert:恢复
resolve:解决冲突
switch:切换工作拷贝对应的版本库分支
log:查看历史记录
list:显示文件目录
cat:查看某个文件内容

模拟开发日常工作(上传下载)

实验思路:

  1. 创建 html (代码)1.html 2.html
  2. 上传到服务器中
  3. 下载代码
  4. 添加内容 (只读用户)3.html
  5. 测试拥有只读权限,是否可以上传代码
  6. 测试拥有写入权限用户,是否可以上传代码

模拟开发人员第一天,先写代码,写完上传

  1. [root@k8s-master ~]# mkdir localsvn
  2. [root@k8s-master ~]# cd localsvn/
  3. [root@k8s-master localsvn]# touch 1.html 2.html
  4. [root@k8s-master localsvn]# ls
  5. 1.html 2.html
  6. [root@k8s-master localsvn]#
  7. [root@k8s-master localsvn]# cd
  8. [root@k8s-master ~]# svn import /root/localsvn/ file:///webdept/www.laoxin.cn/ -m "first edit"
  9. 正在增加 localsvn/1.html
  10. 正在增加 localsvn/2.html
  11. 提交后的版本为 1
  12. [root@k8s-master ~]#

day2:

任务:
先下载代码,今天写代码,写完之后再上传

待更新

学习内容:

中级课程: 4个月

  1. 基础部分(基础概念,原理,命令,服务搭建和实施, FTP,NFS, DNS,)
  2. 服务阶段:(web服务,apache ,tomcat ,nginx , LVS ,nginx ,NTP)
  3. 架构: 高可用(LVS keepalived)京东架构 ,百万级并发
  4. 脚本: shell(核心: 编程)
  5. 数据库: MySQL(MHA,MMM, 高可用集群, 读写分离, PT-tools DBA )
  6. 自动化: puppet,ansible (RHCE),jenkins ,SVN,gitlab , ,prometheus ,zabbix 6.0 监控k8s
  7. 调优:内核调优,服务器优化,防火墙,底层原理
  8. 容器云: docker ,k8s

高级课程 微服务容器云架构师 2个月

  1. docker底层原理,容器原理 1979年 容器 2012docker
  2. docker 架构实现 8主8从 ,
  3. k8s 实战
  4. 分布式 (重点)
  5. devops落地流水线实现
  6. 大数据
  7. 微服务

学习时间:晚上来上课 ,晚上20:30—22:30
学习周期: 4-6个时间
学习方式: 直播+录播+笔记+答疑+作业+考核

内推工作:跟公司合作,毕业直接推荐过去

课程价格: 原价12960元,今天下午优惠,到今天18:00 优惠3380

只有三个名额: 12960-3380=9580 元

涨价 下午6点价格恢复 13960元 ,涨价1000元