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

 资源:一台开发环境的服务器和一台线上环境的服务器。
 软件: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修改某个目录或文件的访问权限






你可能感兴趣的:(技术人生)