Coder Social home page Coder Social logo

www_sync's Introduction

www_sync

网站自动化上线部署shell,解决了网站开发过程中的上线烦恼。传统ftp上线效率低下还容易出错,多台web主机的时候更是恶梦.实现一键完成上线部署。 自带上线修改文件备份,方便回档,有后悔药吃咯~

使用说明

简单版(simple)

用于小型站点。没有测试环境的,只能本地开发环境和生产环境。 使用方法:

在开发机中执行

bash /root/simple/dev2www/dev_to_www.sh

按1后回车。会有一个待上线的文件列表,可以选择需要上线的文件按:wq保存后,这样就要上线的代码文件直接同步到生产环境中了。 同时产生一份修改文件的备份。

标准版(standard)

用于(本地开发环境,线上测试环境,线上生产环境)这种中型项目的。 先从开发机上线到测试机,测试没问题后,再从测试机上到生产机中。 使用方法:

在开发机中执行

bash /root/standard/dev2test/dev_to_test.sh 

从开发机本次有修改的文件列表中选择中需要上线的文件,上线到测试环境中去测试。

测试没问题

在测试机中执行

bash /root/standard/test2www/test_to_www.sh 

从测试机中把本次测试的文件上线到线上(N台)web server中。

原理

在开发机上使用了Svn co的命令行,取得每次更新的文件列表
拿文件列表使用rsync配合sshkey证书同步到远程服务器指定的项目目录中,并且指定好备份文件策略。

服务器需要配置的

* 服务器机群中的操作
* 
	* useradd -d /home/www-rsync -m -s /bin/bash -g www-data www-rsync
	* chmod -R 700 /home/www-rsync
	* mkdir -p /home/www-rsync/.ssh/
	* chown www-rsync:www-data -R /var/www/www.zhuna.cn/release_1.0/
	* mkdir -p /var/www/rsync/bak/
	* chown -R www-rsync:root /var/www/rsync/bak/
	* chmod -R 700 /var/www/rsync/bak/



* 上传机上的操作
* 
	* mkdir -p /root/sshkey/www-rsync/
	* ssh-keygen -t rsa
	* /root/sshkey/www-rsync/id_rsa
	* cat id_rsa.pub >> authorized_keys
	* scp -i /root/sshkey/id_rsa -r /root/sshkey/www-rsync/authorized_keys [email protected]:/home/www-rsync/.ssh/
	* 测试是否能登录web机群成功
	* 
		* ssh -i /root/sshkey/www-rsync/id_rsa [email protected]

* 建立同步备份目录,并给权限
* 
	 chown -R www-rsync:root /var/www/rsync/bak/
	 chmod -R 700 /var/www/rsync_bak/

	chown www-rsync:www-data -R /var/www/www.weixinshow.com/release_1.4/
	chmod -R 650 /var/www/www.weixinshow.com/release_1.4/

www_sync's People

Contributors

wentmac avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.