欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

代码发布

程序员文章站 2022-06-04 10:45:59
...

代码发布

步骤,流程

1 获取代码
	程序员提交代码到代码服务器

2 打包代码(代码服务器执行)
	方便传输
	tar zcf 压缩文件名 待压缩内容
	tar xf 压缩文件名
	zcat 压缩文件名  (查看压缩包内容)
				
3 传输代码
	线上服务器--获取---》代码服务器代码
	scp 远程主机:绝对路径 目标路径
	先登录后拷贝
4 关闭应用
	先关离用户近的,后关离用户远的

5 解压代码

6 放置代码
	先备份后放置
	备份加时间戳
	mv tar_code.tar.gz ~/tar_code.tar.gz`date +%Y%m%d%H%M%S`

7 开启应用
	先开离用户远,在开离用户近的
	
8 检查
	netstat -ntl | grep 80

2 基础目录环境

​ mkdir /data/{server,logs,backup,softs,virtual,scripts,codes} -p
一步创建所有目录–>父目录不存在一并创建

3主机网络环境

1 客户端生成**对(在线上服务器运行)
		ssh-****** -t rsa
		公钥放在:/root/.ssh/id_rsa.pub

2 将公钥传给服务器(传给代码服务器)
在代码服务器中/etc/ssh/sshd_config定义了秘钥存储文件(AuthorizedKeysFile%h/.ssh/authorized_keys)
		echo “公钥”>> authorized_keys
        
3 重启ssh服务 (在代码服务器执行)

4.Django安装和配置

1 Django安装

1.1 虚拟环境安装

	1 进入虚拟环境

	export WORKON_HOME=/data/virtual/

	source /usr/local/bin/virtualenvwrapper.sh

	mkvirtualenv -p python3 django

1.2 sz rz(xshell)

1.3 安装django

	1 查看INSTALL

	2 python setup.py build(可选)

	3 python setup.py install

1.4 配置django

	1 创建项目

		django-admin startproject demo01

	2 创建应用

		python manage.py startapp test1

		修改test1/views.py

	3 注册应用

		修改 itcast/settings.py

	4 关联URL

		修改 itcast/urls.py

	5 启动django

		python manage.py runserver > /dev/null 2>&1 &

5.pcre插件安装

1 pcre插件安装(nginx依赖旧版本pcre)

	./configure && make && make install

	./configure 裁剪软件 定制安装路径

	make 编译

	make install 安装

6.nginx 安装

1 nginx安装
	./configure --prefix=/data/server/nginx --without-http_gzip_module
	(指定安装路径在/data/server/nginx,裁剪gzip模块)
	make && make install
	
	动态库链接失败
	ldd 查找搜索路径
	ln -s  /usr/local/lib/libpcre.so.1 /lib/x86_64-linux-gnu/libpcre.so.1
	(创建软连接)
	
	配置代理:
		http配置段server段增加location配置
		location /hello/ {
			proxy_pass http://127.0.0.1:8000;
		}

7.手工代码发布

1 获取代码
2 打包代码(代码服务器执行)
	cd /home/dev/data/codes
	tar zcf tar_code.tar.gz test1/					
3 传输代码
	cd /data/codes
	scp [email protected]:/home/dev/data/codes/tar_code.tar.gz .
4 关闭应用
	cd /data/server/nginx/sbin
	./nginx -s stop
	kill `lsof -ti :8000`
5 解压代码
	cd /data/codes
	tar xf tar_code.tar.gz
6 放置代码
	cd /data/server/itcast/test1
	mv views.py /data/backup/views.py-`date +%Y%m%d%H%M%S`
	cd /data/codes/test1
	mv views.py /data/server/itcast/test1/
7 开启应用
	export WORKON_HOME=/data/virtual/
	source /usr/local/bin/virtualenvwrapper.sh
	workon django
	cd /data/server/itcast
	python manage.py runserver > /dev/null 2>&1 &
	cd /data/server/nginx/sbin
	./nginx
8 检查
	netstat -ntl | grep 80

8. 简单脚本编写

​ 1 命令罗列
2 固定内容变量化(方便修改)
3 功能函数化(方便扩展)

远程执行命令:
	ssh 远程主机登录用户名@远程主机ip地址 “命令”

9. 大型脚本编写

1 搭建框架(将步骤变成函数)
2 命令填充(将命令写到函数内)
3 日志功能:
	1 定义写日志函数(将时间日期步骤等信息重定向追加到文件)

	2 在各个函数内调用写日志函数

4 锁文件功能:
	1 编写加锁解锁函数---》创建和删除文件
	2 在所有步骤之前先调用加锁函数,所有步骤完毕后调用解锁函数
	3 在脚本执行前先判断文件是否存在
	
5 功能参数化
	case判断脚本参数是否是当前支持的功能
	增加参数个数安全性的判断

10. 脚本调试

​ bash -n 脚本名 检查语法
bash -v 脚本名 先打印一遍脚本内容再执行
bash -x 脚本名 打印一句执行一句

相关标签: 手动发布代码