DevOps SOP:基于阿里云ECS的通用系統安裝及初始化

必要設置

Aliyun ECS 系統初始化

  • Operating System: CentOS Linux 7 (Core)
  • Kernel: Linux 3.10.0-693.17.1.el7.x86_64
  • Architecture: x86-64

設置主機名稱 hostname

# get hostname info
hostnamectl status

# set hostname
hostnamectl set-hostname your-name

解決語言區域問題 locale

# 查看當前系統的語言區域設置,報警如下:
# locale: Cannot set LC_CTYPE to default locale: No such file or directory
# locale: Cannot set LC_ALL to default locale: No such file or directory
locale

# 查看系統設置語言
cat /etc/locale.conf
# 查看系統能夠支持的語言, 先確保語言列表中包含上面的語言設置
locale -a 

# 修復問題,將無法set的參數在下面的配置中新增
vim /etc/locale.conf
    LC_CTYPE="en_US.UTF-8"
    LC_ALL="en_US.UTF-8"

# 確認問題解決
locale

設置SSH登陸歡迎信息 welcome message

一般ssh默認的歡迎界面包括以下幾個部分

  1. greetings
###############################
# 自定義greetings
vim /etc/ssh/ssh_greetings.txt
    > ###############################
    > #                             #
    > #      This is greeting msg   #
    > #                             #
    > ###############################
# 修改ssh配置
vim /etc/ssh/sshd_config
    > Banner /etc/ssh/ssh_greetings.txt
# 重新加載配置
systemctl reload sshd
  1. motd (message of the day)
###############################    
# 修改方式1:靜態motd信息
vim /etc/motd 
# 重新加載配置
systemctl reload sshd

# 修改方式2:自定義motd
vim /etc/profile.d/motd.sh
    > #!/bin/bash
    > # 注: 登陸系統時會自動執行/etc/profile
    > # 其中會遍歷/etc/profile.d/下的所有.sh可執行文件
    > echo -e "
    > ##################################
    > #
    > #     Welcome to `hostname`
    > #     This system is running `cat /etc/redhat-release`
    > #     kernel is `uname -r`
    > #     You are logged in as `whoami`
    > # 
    > #     GOD BLESS OUR SERVER !!!
    > #               -- DevOps Group
    > #
    > ##################################
    > "
# 增加文件可執行權限
chmod +x /etc/profile.d/motd.sh   
# 修改ssh配置
vim /etc/ssh/sshd_config
    > PrintMotd no # 關閉默認的motd打印
# 重新加載配置
systemctl reload sshd
  1. last login informations

創建運維賬戶devops

  1. Issue the useradd command to create a locked user account:
useradd devops
# or you can use "adduser <username>"
  1. Unlock the account by issuing the passwd command to assign a password and set password aging guidelines:
passwd devops
  1. Use the usermod command to add the user to the wheel group.
# By default, on CentOS, members of the wheel group have sudo privileges.
usermod -aG wheel devops
# BTW,為用戶添加sudo權限,還可以直接編輯sudoer文件"vim /etc/sudoers"

# get user | group info
id devops
groups devops
  1. gen ssh key
# 切換賬戶
su - devops
# 生成ssh key
ssh-keygen
  1. 設置用戶的ssh公鑰登錄
    vim /home/devops/.ssh/authorized_keys

SSH安全設置

## 編輯ssh配置
sudo vim /etc/ssh/sshd_config 
  PermitRootLogin no ## 禁用服務器root用戶的ssh登陸
  PasswordAuthentication no ## 禁用ssh用戶密碼登陸,僅能使用ssh pub key

## 重啟sshd ,或者可以使用命令
systemctl restart sshd 

初始化運維工作區 work space

## 應用工程
mkdir -p /opt/apps
## 數據目錄
mkdir -p /opt/data/tmp
## 軟件目錄
mkdir -p /opt/software
## 自定義軟件安裝位置
mkdir -p /opt/tools

通用工具

  1. git
    sudo yum install git
  2. vim plugin manager
## 下載vim-plug工具
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

系統升級

# Install Extra Packages for Enterprise Linux
yum install epel-release

# Update yum
yum update

可選設置

安裝進程守護 Supervisor

  1. Install supervisor
# 安裝
easy_install supervisor

# 配置啟動項 Configs programs 
echo_supervisord_conf  > /etc/supervisord.conf
vim /etc/supervisord.conf
    > [program:foo_test]
    > command=/bin/cat
    
# 啟動supervisor
supervisord -c /etc/supervisord.conf -n 

# 其它命令
supervisorctl
help
supervisorctl stop all    
supervisorctl status all

  1. 通過systemd管理supervisor(進程守護+開機啟動)
## systemd常用命令
systemctl status
systemctl  # same as "systemctl list-units"
systemctl --failed
systemctl start[|stop|restart|reload|status|help] unit
systemctl reboot    # Shut down and reboot the system:
systemctl poweroff  # Shut down

## 在systemd中配置supervisor
vim /etc/systemd/system/supervisor.service
    # supervisord service for systemd (CentOS 7.0+)
    
    [Unit]
    Description=Supervisor daemon
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/supervisord
    ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
    ExecReload=/usr/bin/supervisorctl $OPTIONS reload
    KillMode=process
    Restart=on-failure
    RestartSec=42s

## 加載supervisor服務
systemctl daemon-reload
systemctl status supervisor
systemctl start supervisor
systemctl is-enabled supervisor
systemctl enable supervisor

## 開機啟動
ln -s '/etc/systemd/system/supervisor.service' '/etc/systemd/system/multi-user.target.wants/supervisor.service'

# 測試
reboot
systemctl reboot

  1. 參考文檔

安裝Java開發環境 JDK Setup

# Check which specific RPM package provides the java.
rpm -q --whatprovides java

# Uninstall any earlier installations of the JDK packages.
rpm -e package_name 

# Install the package.
rpm -ivh jdk-8uversion-linux-x64.rpm

java -version
javac -version

  • DEVOPS SOP (Standard operating procedur)
  • Title: 《SOP-OPS-基于阿里云ECS的通用系統安裝及初始化》
  • Modify History:
    • 2018-02-27 v1.0
  • Authors: Jacky.L、...
  • Published:
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 又是一個美好的休息日,收拾好房間,坐在窗戶邊享受著徐徐清風,突然覺得這樣的時候很適合讀一本書。去書房轉了一圈,選擇...
    雪竹君閱讀 257評論 0 1
  • 文\安雪塵 站在歲月的渡口,想要為逝去的年華落一次淚,卻發現眼淚堆積在眼眸里,流不出來,記憶慢慢老去,已沒有多余的...
    安雪塵閱讀 288評論 0 1
  • 媽媽給我買了一盒彩虹之國的拼圖,圖片上有森林、湖泊、球型的熱氣球、帆船形狀的熱氣球,帆船上還坐著一個美麗的姐...
    趙安琪1閱讀 486評論 0 0
  • 今天和女兒參加奔青的課程,早上出門有點遲有點趕,連筆記本都沒帶,還好帶了腦子帶了心。早上的基本純理論課,邊聽老師講...
    葉子多媽閱讀 220評論 0 0
  • “朝聞道,夕死可矣。壯心存,老驥千里。憂天下,仁人奮起?!敝苡泄?05歲時出版的《朝聞道集》扉頁上的這句話,令人難...
    Jonty_Meng閱讀 391評論 0 0