介绍
本篇内容介绍了“怎么用shell脚本实现服务器快速设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
通过<代码> 代码>壳脚本实现服务器快速设置
现在企业出海已经是常态,我们面临更多的国家地区服务器安装的工作,虽然云服务已经普及,还有各种<代码> SaaS> 代码可以快速使用,但定制化需求会一直存在,那么快速部署的方法就很有必要。
目前与那些快速部署方法?
- <李>
服务器镜像——最快,但必须在同一个供应商内,出海可能会不同地区用不同的云服务商,就无法实现。
李> <李><代码>码头工人> 代码,可以通过镜像方式快速部署,应对复杂环境;
李> <李><代码> 代码>壳脚本——可以简化大多数复杂应用的安装,适合系统环境变化不大的情况,例如可以用同一个版本系统。
李>虽然<代码> 代码>壳脚本的方式不如<代码>码头工人> 代码和镜像好使,但如果你还没有尝试过,可以试一下,作为一个工具,可以极大提高效率,因为我们也看的到,很多的linux <代码> 代码>安装包也提供了类似的一键安装脚本。
在上脚本之前,先要说明一下我的服务器软件内容:
- <李>
<代码> gitlab-runner> 代码集成部署
李> <李><代码> nodeJS 代码>环境
李> <李><代码> nodeJS> 代码标准的跑在<代码> gitlab-runner> 代码用户下
李> <李>使用<代码> nvm 代码>管理<代码> nodeJS> 代码版本
李> <李>使用<代码> pm2 代码>管理进程
李>下面是以我在游戏出海时使用的<代码> 代码>壳脚本,简单说明如何通过<代码> 代码>壳脚本快速部署:
# !/bin/sh #第一句,基本是所有sh脚本的标准开的头 7.8 #,Centos ,, #说明这个脚本适用的系统和版本,给人看的 #硬盘目录:#变量声明 DISK_PATH=?data", #之前已经好山的硬盘路径 #主机名: 主机名=癿y_server_name", #服务器名字,方便登录后区分 # gitlab-runner: GITLAB_RUNNER=癶ttps://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" # nodejs 版本 NODE_VERSION=皏8.17.0" # NVM # nvm安装脚本 NVM_SCRIPT=癶ttps://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh" # PM2 # pm2版本 PM2=皃m2" # pm2 data 路径:# pm2日志路径,我们不希望放到系统盘中 PM2_DATA_DIR=皃m2Data", #,下方会组合成完整的路径,DISK_PATH +/PM2_DATA_DIR echo “开始安装SDK 通道套件============? if [, -n “HOSTNAME"美元;,),#,如果的使用方式,大家需要去了解一下,n是如果不为空的意思 然后 echo 才能“修改主机名称为:HOSTNAME"美元; hostnamectl 才能;set-hostname “HOSTNAME"美元; 其他的 echo 才能“可以使用,& # 39;hostnamectl set-hostname newHostname& # 39;, #设置当前主机名、立即生效,重启也生效, fi echo “准备开始,当前主机名:“, 主机名 #,下面是一连串的安装和处理了 echo “基础准备:“ yum install  epel-release - y yum update - y echo “安装,htop:“ yum install  htop - y echo “安装,ngnix:“ rpm -ivh http://nginx.org/packages/centos/7/noarch/rpms/nginx -释放- centos - 7 - 0. el7.ngx.noarch.rpm yum install  nginx - y systemctl enable  nginx systemctl start  nginx touch “/etc/nginx conf.d/virtual.conf" echo “安装gitlab-runner:“; #,For RHEL/CentOS/Fedora curl -L “GITLAB_RUNNER"美元,|,sudo bash yum install  gitlab-runner - y echo “alias lg=& # 39; su -l gitlab-runner& # 39;“,在祝辞,“$ HOME/.bashrc" source “$ HOME/.bashrc" echo “建立pm2Data目录:“ PM2_FINALDIR=癉ISK_PATH/PM2_DATA_DIR"美元; if [!大敌;-d “PM2_FINALDIR"美元;,];,then # - d是判断是不是目录,不是就创建 mkdir 才能“PM2_FINALDIR"美元; fi chown gitlab-runner: gitlab-runner “PM2_FINALDIR"美元;,#修改目录所有者 #,我会生成一个新的脚本到gitlab-runner目录,为什么这样做呢? #,因为需要在gitlab-ruuner用户跑服务,希望环境在目标用户那里。 #,另外的原因是,以其他用户身份安装pm2会出现问题,那我就跑2次脚本咯 echo “切换用户安装,node 套件“; # # # # # # # #,nodejs.sh 开始# # # # # # # # NODE_SHELL=& # 39;/home/gitlab-runner nodejs.sh& # 39; echo “# !/bin/sh 7.8 #,Centos #硬盘目录: # nodejs 版本 NODE_VERSION=\“NODE_VERSION \“美元; PM2_FINALDIR=\“PM2_FINALDIR \“美元; # NVM NVM_SCRIPT=\“NVM_SCRIPT \“美元; # PM2 PM2=\“PM2 \“美元; echo \“安装,nvm \“; curl - o安康;NVM_SCRIPT 美元;| bash echo \“安装,node $ NODE_VERSION: \“; source \“\ $ HOME/. bashrc \“; nvm install  NODE_VERSION美元 nvm use  NODE_VERSION美元 echo \“安装pm2:, pm2 \“美元;,, npm 小姐:$ PM2 - g npm install ——global coffeescript npm install ——global 饮而尽 #,pm2 目录的骚操作 PM2_HOME=\“\ $ HOME/.pm2 \“; if [, -d PM2_HOME 美元\],然后 echo 才能;& # 39;处理.pm2目录& # 39; ,pwd ,噢 mv 才能;\ PM2_HOME 美元;PM2_FINALDIR美元 rm 才能;\ PM2_HOME 美元;- r ln 才能;-s  PM2_FINALDIR美元/\ PM2_HOME美元 else echo 才能;-e & # 39; .pm2 目录不存在& # 39; ln 才能;-s  PM2_FINALDIR美元/\ PM2_HOME美元 fi source \“\ $ HOME/. bashrc \“; echo \“NodeJS 套件结束\““,祝辞,“NODE_SHELL"美元; chown gitlab-runner: gitlab-runner “NODE_SHELL"美元; chmod + x “NODE_SHELL"美元,#,让脚本可以运行 null null null null null null null null null怎么用shell脚本实现服务器快速设置