资源:一台开发环境的服务器和一台线上环境的服务器。
 软件:Xshell(linux运行环境) , fileZilla(linux文件传输工具)
  功能:我们在开发环境中将项目由git中clone下来,建立开发分支,拉取开发分支进行程序的开发。开发完毕后,合并到开发分支下再合并到master主分支中,(合并过程是先commit将代码提交到本地暂存区中,再将分支上的最新代码拉下来,看是否存在冲突,进行merge合并解决冲突,最后push)合并到master主分支后运行打包发送脚本将版本发送到线上服务器中。

 注意: 以下文章中所需要的脚本可以去百度云盘下载:https://pan.baidu.com/s/1uUV06qCyEOrRJY7-R4gsBw ,可以按照步骤走,有问题可以咨询我,至于脚本里的命令可百度或Google了解。

因为是早期的学习笔记,所以如果有问题各位尽情询问,提前感谢找到bug的小伙伴们了。

开发服务器的部署:

1.由管理员进入开发服务器中,由root管理员进行用户的创建 : create_pwd.sh  用户名   (生成一个user.password用来保存用户名和密码)

2.使用filezila传输文件给新创建的用户:.ssh.zip  settings.xml   id_rsa   id_rsa.pub(id_rsa 私钥* 是放入在.ssh目录下进行远程客户端:ssh权限认证用的)        (Windows系统也有相应的fileZilla程序,可以使用    其传输文件到linux服务器中)

3.使用新创建用户登录到开发服务器中:ssh -p22 用户名@ 服务器IP地址  (回车输入密码登录到服务器中)

4.解压.ssh.zip 文件 :unzip .ssh.zip  并将其文件夹中的user.password删除:rm -rf userpassword  (强制不提醒删除命令:慎用rm -rf *,因为其删除后文件     是不可恢复的,不小心就会将当前文件夹下的内容全    部清空,而且你还可能不确定是在哪个文件夹下进行操作!一定要看清楚!!!)

5.将setting.xml 转移到.m2文件夹下 :mv setting.xml(需要移动的文件) .m2/(目标位置)

6.从git上将代码克隆到服务器当前用户目录下:git clone git@ **.**.**:**/**.git   (使用ssh协议将代码克隆:通过ssh访问是安全的,因为其所有传输的数据都    要经过授权和加密,也很高效,传输前会尽量压缩数    据,其状态是不能通过匿名访问)

7.使用chmod授权给.ssh目录下的 id_rsa和id_rsa.pub:正常是拥有权限进行传输的,可能会有发生你的权限设置报错:Permissions 0755 for '你配置的公钥文件路    径' are too open  这时候我们可以重新将其授权     :chmod 600 id_rsa  这时就可以再次尝试克隆代码了。(为什么之前权限大于现在会报错?现在设置权限小了反而好了)

8.项目克隆成功,传输build-online.sh脚本文件到该项目目录下

9.拿到脚本文件后需要修改,我们可以先一行一行运行,到第二行后会生成项目war包文件,然后在项目目录下找到该文件地址,将其复制修改我们的build-online.sh文     件,这是我们得先将其权限设为755:chmod 755    build-onile.sh 再使用编辑命令修改文件:vim build-onile.sh 将第三行地址更换(线上的部署要目录相同)当然    我们也可以更简单的修改就是在fileZilla中进行文件的编辑。(第三行脚本:scp  /home/Users/mars/mars/mars-web/target/mars.war(使用绝对路径定位到指定文件)  121.40.137.64:/home/Users/mars/(远程的目标目录下) ){脚本文件的第一行换为git pull  将最新代码拉下来}

10.ssh -p22 root@ 线上服务器地址  登录部署线上环境。(看下面的线上服务器部署步骤)

11.确认无误保存脚本文件并将其运行。(可能会出现没有auto-config文件错误,是因为没有该文件夹,可以去Users目录下创键一个autoconfig文件夹

线上服务器的部署:

1.由管理员进入开发服务器中,创建组:groupadd deploy ,  在/home/目录下创建/Users目录 : mkdir  Users  (先切到home目录下执行命令) 。再由root管理员进行用户的创建 :sh create_pwd.sh  用户名   (生成一个user.password用来保存用户名和密码)

2.切到新创建的用户,在用户目录下创建.ssh目录,将私钥文件.authorized_keys放入.ssh目录下(是用于与开发服务器建立连接的)

3.开发服务器上运行了发布脚本这时候我们的用户目录下会多出一个项目的.war包文件,准备将其部署到tomcat中去。(tomcat一般放在/usr/local/ 目录下)

4.进入tomcat目录下可以看到项目目录下的tomcat,这时我们得使用root权限给项目目录及以下的文件进行授权:chown -R  用户名:用户组  目标目录(项目目录)。这时我们新建的用户就拥有了对该目录下进行读写的权   限,(切到新用户,将项目war包复制到tomcat/webapps/目录下尝试是否有权限,最后将目录整理好。:可以使用脚本将其一键实现)

5.将项目部署到tomcat中是手动移动可能会出现溢出的错误,所以需要一个deploy.sh脚本进行项目的发布。

6.完成部署。
 
先搭建好线上环境,使用root登录到线上环境,传输create_user.sh脚本运行创建用户,生成user.password:()将密码保存并删除文件:

常用linux命令:

cp -R  指定文件夹/*  目标文件夹目录/                使用迭代将指定文件夹内所有文件复制到目标目录下。

rm -rf 指定文件或文件夹                                     不提醒用户强制删除指定文件或文件夹(难恢复或恢复文件有损)。

mv 指定文件  目标目录                                       移动指定文件到目标目录下(当前目录下也是重命名命令)

chmod  权限大小 指定文件                                 给指定文件授权访问权限(权限大小:r=4,w=2,x=1  所以可以进行组合授权:777:rwxrwxrwx,600:-wx------;)

chown 用户名:所属组  文件名/ 文件目录          只是将该目录的权限授权给指定用户和指定组

chown -R 用户名:所属组  文件名/ 文件目录     使用迭代将该目录下的所有文件授权给指定用户和用户组

mkdir  文件夹名称                                             在当前目录下创建新文件夹

ll -al                                                              查看文件包括隐藏文件

scp                                                                   使用绝对路径定位到指定文件名  远程的目标目录  将本地的文件拷贝传输到远程目录下

chmod与chown的区别:

chown是用来更改某个目录或文件的用户名和用户组的:而chmod修改某个目录或文件的访问权限

如何初步部署服务器(运维及服务器部署个人笔记)相关推荐

  1. 服务器运维协议,服务器维护委托合同

    服务器维护委托合同 添加时间:2017-12-01 09:27:16 浏览次数: 0 分享到: 根据<中华人民共和国合同法>及其它有关法律的规定,甲乙双方经友好协商,就甲方委托乙方维护其所 ...

  2. 免费的运维服务器,服务器运维, 卓豪ManageEngine

    首页 » 行业案例 服务器运维对您的业务至关重要吗? 尽管有些企业从未经历过严重的服务器宕机事故,但是投资购买运维工具来检测服务器状态仍然是很明智之举.这样便可以防患于未然,让业务失控之前,进行及时预 ...

  3. 【微学堂】线上Linux服务器运维安全策略经验分享

    技术转载:https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&sn=6d403ab447 ...

  4. 【Microsoft Azure 的1024种玩法】十五.通过Web浏览器对Auzre VM 服务器运维管理

    [简介] Apache Guacamole是无客户端远程桌面网关.它支持标准协议,例如VNC,RDP和SSH.我们称其为无客户端,因为不需要插件或客户端软件.多亏了HTML5,在服务器上安装了鳄梨调味 ...

  5. [渝粤教育] 宁波城市职业技术学院 Web服务器运维(从零搭建一个企业网站) 参考 资料

    教育 -Web服务器运维(从零搭建一个企业网站)-章节资料考试资料-宁波城市职业技术学院[] 作业:购买阿里云ECS 作业:在万网注册域名 作业:ICP备案 微测验:准备主机 1.[单选题]ECS是阿 ...

  6. 服务器运维的工作内容及职责

    服务器运维的日常工作: 1.负责服务器的硬件配置.软件安装.机房上下架等技术维护工作 2.负责虚拟化技术产品物理机配置.管理和日常运行监控和维护 3.负责独立主机或虚拟应用产品的开通使用.日常维护.故 ...

  7. 服务器运维是什么意思?日常工作包含哪些?

    [导读]越来越多的人开始从事服务器运维工作了,但很多人不清楚服务器运维到底是什么意思?日常工作包含哪些?服务器运维用什么软件好?因此我们小编针对着三家问题进行了详细解答,希望可以帮到大家. 服务器运维 ...

  8. linux服务器运维实战记录,linux运维好书推荐《高性能Linux服务器运维实战》

    本书整体分为4个篇幅,以Linux运维平台下的开源应用软件为中心,涉及Linux运维的各个方面,主要从系统基础运维(命令.shell编程).系统性能调优.智能运维监控平台构建.运维实战案例四个方面展开 ...

  9. 如何批量运维服务器论文,win 服务器 批量管理 服务器运维利器

    由于做服务器运维方面的工作,需要一人对近千台服务器进行统一集中的管理,如同时批量对服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINUX服务器download程序包. ...

  10. 知名服务器运维软件厂商堡塔加入龙蜥社区,并完成与 Anolis OS 兼容适配

    近日,广东堡塔安全技术有限公司(以下简称"堡塔")签署了 CLA(Contribution License Agreement,贡献者许可协议),正式加入龙蜥社区(OpenAnol ...

最新文章

  1. Linux内核网络丢包查看工具dropwatch的安装和使用
  2. Linux netstat查看网络连接状态
  3. 巧用Java8中的Stream,让集合操作6到飞起!!!
  4. Linux安装、卸载软件
  5. 实习生对企业的认识_如何成为您认识的超级明星实习生
  6. 框架基础——全面解析Java注解
  7. Emlog百度快速收录插件
  8. configure: error: ZLib not installed
  9. 例14:计算某日是该年的第几天
  10. 2018年3月11日论文阅读
  11. UEFI开发探索22 – 环境搭建3(使用UDK2018搭建)
  12. EEGLAB使用流程
  13. Chrome浏览器快捷键
  14. end 键功能的定义
  15. numpy_absolute函数
  16. 伤病缠身仍愿竭力而战 澳网一别穆雷何时再见?
  17. iis php 500 内部服务器错误,服务器_iis的http 500内部服务器错误的解决,iis的http 500内部服务器错误是 - phpStudy...
  18. 深度学习中模型攻击与防御(Attack DL Models and Defense)的原理与应用(李宏毅视频课笔记)
  19. 两个人同屏玩的象棋_有什么好玩的棋两个人也可以玩,四个人也可以玩,比较益智的...
  20. 真正理解mybatis拦截器以及Interceptor和Plugin作用

热门文章

  1. 华为系统鸿蒙的名字来源,鸿蒙系统名字含义_华为鸿蒙操作系统自己研发吗
  2. Tuscany是什么?
  3. 关闭linux防火墙永久
  4. hashmap 存取原理图_HashMap的存储原理
  5. 奢侈手机鼻祖Vertu走下神坛 但为什么国产厂商却掀起了奢华风?
  6. 搞笑python代码_ZAKER搞机团
  7. 儒家、道家、释家之异同(下)
  8. STM32F103 PB3 作为 普通IO使用
  9. 如何清理C盘(小白版)
  10. leetcode38 count and say