3.1.2 常见服务使用和部署

最后更新于:2022-04-02 07:36:38

#### MegaCLI ##### [感谢《天高任鸟飞》的整理](http://blog.chinaunix.net/uid-25135004-id-3139293.html "感谢《天高任鸟飞》") >个人理解:MegaCLI我一般用来查看和监控,如果真的涉及到硬盘操作,我会使用"MegaRaid_Server_Manager",有兴趣的同学可以了解下,基本原理是在服务器安装服务,启动端口。在Windows上部署管理软件,我处理过硬盘替换后没有加入RAID的情况,需要手动清理RAID信息并加入。 ```shell #硬盘型号 /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL|grep 'Inquiry Data' # 硬盘错误 /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL|grep 'Count' # 硬盘状态(在线,下线) /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL|grep 'Firmware state' ``` 监控脚本框架,发现后调用接口报警 ```shell #!/bin/bash #check raid disk status MEGACLI="/opt/MegaRAID/MegaCli/MegaCli64 " $MEGACLI -pdlist -aALL | grep "Firmware state" | awk -F : '{print $2}' | awk -F , '{print $1}' >/tmp/fireware.log $MEGACLI -pdlist -aALL | grep -E "Media Error|Other Error" | awk -F : '{print $2}' >/tmp/disk.log for i in `cat < /tmp/disk.log` do if [ $i -ne 0 ] then curl "http://xxxxxxB&state=ALARM&description=raid_disk_error" fi done for i in `cat < /tmp/fireware.log` do if [ $i != Online ] then curl "http://xxxxxxstate=ALARM&description=raid_disk_offline" fi done ``` #### CetnOS 6 部署gem ``` yum install libyaml-devel libyaml #需要gem 1.9版本,yum 一般只到1.8 cd /opt/ wget https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p551.tar.gz tar xzf ruby-1.9.3-p551.tar.gz && cd ruby-1.9.3-p551 ./configure --enable-shared make && make install # 修改源 gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ ``` #### FPM制作rpm包 ``` # 安装fpm yum install ruby-devel rubygems-devel openssl-devel rpm-build # gem部署请查看上一章节 gem install fpm ``` 制作nginx包 ``` # 安装依赖 yum install openssl-devel pcre-devel pcre gcc zlib -y ./configure --prefix=/usr/local/nginx --user=nobody --group=nobody --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-pcre --add-module=/opt/lnmp/nginx-http-concat-master --add-module=/opt/lnmp/echo-nginx-module-0.61 --add-module=/opt/lnmp/ngx_http_substitutions_filter_module-master --add-module=/opt/lnmp/nginx-plugin-master make ``` 这里要注意了,不要正常make install 这里需要安装到一个打包目录,fpm会根据编译参数去安装 ``` mkdir /opt/rpm_tmp/ make install DESTDIR=/opt/rpm_tmp/ ``` 准备脚本 ``` # 卸载脚本 # cat /tmp/remove_after.sh #!/bin/bash rm -rf /usr/local/nginx ``` #### Nodejs 12.14部署 ``` cd /opt/ wget https://nodejs.org/dist/v12.14.0/node-v12.14.0-linux-x64.tar.xz xz -d node-v12.14.0-linux-x64.tar.xz tar xf node-v12.14.0-linux-x64.tar mv node-v12.14.0-linux-x64 /usr/local/ ln -s node-v12.14.0-linux-x64 nodejs ln -s /usr/local/nodejs/bin/node /usr/bin/node ln -s /usr/local/nodejs/bin/npm /usr/bin/npm # 修改taobao源 npm config set registry https://registry.npm.taobao.org # 升级npm npm install -g npm # 安装淘宝cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org ln -s /usr/local/nodejs/bin/cnpm /usr/bin/cnpm ``` #### Centos7 puppeteer依赖 ``` # centos6比较折腾,放弃了 yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc ``` #### Ruby 2.5.1部署 ``` wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz tar xvf ruby-2.5.1.tar.gz cd ruby-2.5.1/ ./configure -prefix=/usr/local/ruby make make install cp /usr/local/ruby/bin/ruby /usr/local/bin/ cp /usr/local/ruby/bin/gem /usr/local/bin/ # 移除默认源 gem sources --remove https://rubygems.org/ gem sources -a https://mirrors.aliyun.com/rubygems/ ``` #### 安装redis-dump(依赖Rube) ``` gem install redis-dump -V ``` #### 安装VNC server > VNC Server主要用来安装Oracle和Weblogic等需要图形界面安装的软件(有随时可以连接的需求) 当然,直接开启Centos操作系统下的远程桌面也可以,限制是用户需要服务器登录后才行(虚拟机下这样玩) YUM安装 ```shell yum install tigervnc-server ``` Centos 6 操作 ```shell # 配置VNC Server vim /etc/sysconfig/vncservers # 单用户设置如下:(端口:5901) VNCSERVERS="1:root" VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp " # 多用户设置如下 VNCSERVERS="1:root 2:oracle" VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp " # VNC密码设置 #root 用户下,设置登录vnc密码** vncpasswd #oracle用户下,切换到oracle用户下,设置登录vnc密码 su – oracle vncpasswd # 启动 service vncserver start service vncserver restart service vncserver stop ``` Centos 7 操作 ``` cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service # 修改配置文件[service]段 (以root用户为例, 把改为root) [Service] Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :' ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver :1 -geometry 1280x720 -depth 24" PIDFile=/root/.vnc/%H%i.pid (这里的%H%i 不用改,vnc用来生成PIDFile文件名,保证路径存在就可以了) ExecStop=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :' # 更新systemctl systemctl daemon-reload # 设置vnc远程连接密码 vncpasswd #启动vnc服务 (如报错,根据提示查看状态) systemctl start vncserver@:1.service # 设置为自动启动 systemctl enable vncserver@:1.service ``` #### NTP服务部署 YUM安装 ```shell yum install ntp ntpdate -y ``` 修改配置文件/etc/ntp.conf 删除后添加以下内容 ```shell server 202.120.2.101 #当外部时间不可用时,使用本地时间。 server 127.127.1.0 iburst local clock #允许更新的IP地址段 restrict 192.168.0.1 mask 255.255.255.0 nomodify ``` 启动ntp服务 **Centos 7 ** ```shell systemctl start ntpd systemctl enable ntpd.service ``` **Centos 6 ** ```shell /etc/init.d/ntpd chkconfig ntpd on ``` ```shell #### 验证服务 ntpq -p ``` 增加crond ```shell 0 */2 * * * /usr/sbin/ntpdate 202.120.2.101 > /dev/null 2>&1 ```
';