传统网站部署流程
传统的网站部署,大家在运维过程中,网站部署是运维的工作之一,网站部署的流程大致分为:
需求分析— 原型设计—开发代码—-提交测试—-内网部署—-确认上线—-备份数据—外网更新(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的实现过程(单机版)
软件的安装
环境:
[root@k8s-master ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@k8s-master ~]# uname -r
3.10.0-1062.el7.x86_64
[root@k8s-master ~]# ifconfig |grep inet |awk 'NR==1{print $2}'
192.168.3.71
[root@k8s-master ~]#
安装:yum安装
[root@k8s-master ~]# yum install -y subversion httpd mod_dav_svn
[root@k8s-master ~]# cat /etc/services |grep svn |head -2
svn 3690/tcp # Subversion
svn 3690/udp # Subversion
[root@k8s-master ~]#
SVN的配置
思考的过程:
Linux: 一切皆为文件
版本库目录:/webdept :存放某个项目的文件
版本库: 电商项目 (购物车模块,订单模块,搜索模块,图床系统)
www.itlaoxin.cn
www.laoxin.com
谁可以访问版本库
谁可以写入内容到版本
权限: 用户名和密码 passwd auth
实验思路:
- 在服务器中安装一个目录,这个目录叫版本库目录
- 在版本库目录中建立版本库
- 版本库中设置用户名和密码的权限,主配置修改
- 测试
在服务器中安装一个目录,这个目录叫版本库目录
[root@k8s-master ~]# mkdir /webdept
[root@k8s-master ~]# ls /webdept/
[root@k8s-master ~]# cd /webdept/
[root@k8s-master webdept]# ls
[root@k8s-master webdept]#
在版本库中建立版本库目录
用到命令:svnadmin
[root@k8s-master webdept]# svnadmin create www.itlaoxin.cn
[root@k8s-master webdept]# svnadmin create www.laoxin.cn
[root@k8s-master webdept]# ls
www.itlaoxin.cn www.laoxin.cn
[root@k8s-master webdept]# cd www.laoxin.cn/
[root@k8s-master www.laoxin.cn]# ls
conf db format hooks locks README.txt
dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据,刚开始新建时此目录没有
db目录:就是所有版本控制的数据存放文件
hooks目录:放置hook脚本文件的目录
locks目录:用来放置subversion监控锁定数据的目录,用来追踪存取文件库的客户端
format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等),也是我们要关注的配置文件
进入con目录:
[root@k8s-master www.laoxin.cn]# cd conf/
[root@k8s-master conf]# ls
authz passwd svnserve.conf
[root@k8s-master conf]#
authz: 认证相关的文件
passwd: 用户名和密码
svnserve: 配置文件相关的内容
修改主配置文件,svnserve.conf
[root@k8s-master conf]# vim svnserve.conf
[root@k8s-master conf]# grep -v ^# !$
grep -v ^# svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = BeBEBE
修改passwd文件
[root@k8s-master conf]# pwd
/webdept/www.laoxin.cn/conf
vim passwd
[root@k8s-master conf]# grep -v ^# passwd |grep -v ^$
[users]
bosimao = 123456
lonely_fly = 123456
today_downsun = 123456
5cdc =123456
[root@k8s-master conf]#
修改 authz
[root@k8s-master conf]# grep -v ^# authz |grep -v ^$
[aliases]
[groups]
Check = 5cdc,lonely_fly
bosimao = rw
@Check = r
* =
[root@k8s-master conf]#
启动SVN
[root@k8s-master ~]# svnserve -d -r /webdept
[root@k8s-master ~]# ps -aux |grep svn
root 6328 0.0 0.0 197712 1036 ? Ss 15:27 0:00 svnserve -d -r /webdept
root 6336 0.0 0.0 112728 972 pts/0 S+ 15:27 0:00 grep --color=auto svn
[root@k8s-master ~]# netstat -antup |grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 6328/svnserve
[root@k8s-master ~]#
svn的常用参数
import:将未版本化的文件纳入版本控制并提交
checkout:从版本库中检出一个修订版
update:更新工作拷贝
add,delete,copy,move:增、删、复制、移动文件或目录
status:检查状态差异
diff:检查文件行级详细差异
revert:恢复
resolve:解决冲突
switch:切换工作拷贝对应的版本库分支
log:查看历史记录
list:显示文件目录
cat:查看某个文件内容
模拟开发日常工作(上传下载)
实验思路:
- 创建 html (代码)1.html 2.html
- 上传到服务器中
- 下载代码
- 添加内容 (只读用户)3.html
- 测试拥有只读权限,是否可以上传代码
- 测试拥有写入权限用户,是否可以上传代码
模拟开发人员第一天,先写代码,写完上传
[root@k8s-master ~]# mkdir localsvn
[root@k8s-master ~]# cd localsvn/
[root@k8s-master localsvn]# touch 1.html 2.html
[root@k8s-master localsvn]# ls
1.html 2.html
[root@k8s-master localsvn]#
[root@k8s-master localsvn]# cd
[root@k8s-master ~]# svn import /root/localsvn/ file:///webdept/www.laoxin.cn/ -m "first edit"
正在增加 localsvn/1.html
正在增加 localsvn/2.html
提交后的版本为 1。
[root@k8s-master ~]#
day2:
任务:
先下载代码,今天写代码,写完之后再上传
待更新
学习内容:
中级课程: 4个月
- 基础部分(基础概念,原理,命令,服务搭建和实施, FTP,NFS, DNS,)
- 服务阶段:(web服务,apache ,tomcat ,nginx , LVS ,nginx ,NTP)
- 架构: 高可用(LVS keepalived)京东架构 ,百万级并发
- 脚本: shell(核心: 编程)
- 数据库: MySQL(MHA,MMM, 高可用集群, 读写分离, PT-tools DBA )
- 自动化: puppet,ansible (RHCE),jenkins ,SVN,gitlab , ,prometheus ,zabbix 6.0 监控k8s
- 调优:内核调优,服务器优化,防火墙,底层原理
- 容器云: docker ,k8s
高级课程 微服务容器云架构师 2个月
- docker底层原理,容器原理 1979年 容器 2012docker
- docker 架构实现 8主8从 ,
- k8s 实战
- 分布式 (重点)
- devops落地流水线实现
- 大数据
- 微服务
学习时间:晚上来上课 ,晚上20:30—22:30
学习周期: 4-6个时间
学习方式: 直播+录播+笔记+答疑+作业+考核
内推工作:跟公司合作,毕业直接推荐过去
课程价格: 原价12960元,今天下午优惠,到今天18:00 优惠3380
只有三个名额: 12960-3380=9580 元
涨价 下午6点价格恢复 13960元 ,涨价1000元