1.修改主機名
vim /etc/hostname
vim /etc/hosts
hostname <主機名>
2.伺服器磁碟掛載
vim /data/scripts/auto_fdisk.sh
3.將磁碟掛載修改為uuid方式
blkid /dev/xvdb1
vim /etc/fstab
UUID=41852b97-3630-42b1-b2ae-9d8f77922245 /data ext4 defaults 1 2
4.初始化伺服器
#!/bin/sh
yum clean all
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i `s/enforcing/disabled/g` /etc/selinux/config
yum -y install vim openssh* ntp wget screen bash-completion git
service ntpd stop
ntpdate time.nist.gov
sed -i `s/0.centos.pool.ntp.org/time.nist.gov/g` /etc/ntp.conf
chkconfig ntpd on
service ntpd restart
5.安裝程式
下載oneinstack,根據需求安裝所需memcached與supervisord
6.執行cache初始化指令碼
#!/bin/sh -e
########## 1. 基礎工作 start ##########
tmux_conf=/root/.tmux.conf
chk_service_super=`systemctl status supervisord.service | grep inactive`
if [[ -n $chk_service_super ]]
then
echo "supervisord is inactive..."
else
sudo service supervisord stop
fi
chk_service_hhvm=`systemctl status hhvm | grep inactive`
if [[ -n $chk_service_hhvm ]]
then
echo "hhvm is inactive..."
else
sudo service hhvm stop
fi
mkdir -p /data/logs
mkdir -p /data/backup
mkdir -p /data/components/
mkdir -p /data/scripts
mkdir -p /data/softs
mkdir -p /data/logs/access
mkdir -p /data/logs/general
mkdir -p /data/logs/logic
mkdir -p /data/logs/error/supervisor
chmod -R 777 /data/logs/*
chmod -R 777 /data/components/
# 常用類庫
sudo yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
# 常用軟體
sudo yum -y install net-tools unzip vim lrzsz subversion tmux
# tmux配置
cat > $tmux_conf <<EOF
set-option -g default-terminal "screen-256color"
#設定字首為Ctrl + x
set -g prefix C-x
#解除Ctrl+b 與字首的對應關係
unbind C-b
#up
bind-key k select-pane -U
#down
bind-key j select-pane -D
#left
bind-key h select-pane -L
#right
bind-key l select-pane -R
#select last window
bind-key C-l select-window -l
#copy-mode 將快捷鍵設定為vi 模式
setw -g mode-keys vi
#bind C-k run "./bin/tmux-zoom.sh"
EOF
########## 基礎工作 end ##########
########## 部署memcached start ##########
ip_addr=`ifconfig | grep `inet` | grep -v `127.0.0.1` | cut -d: -f2 | awk `{ print $2}``
sed -i "s/OPTIONS="-l 127.0.0.1"/OPTIONS="-l ${ip_addr}"/g" /etc/init.d/memcached
sed -i `s/CACHESIZE=977/CACHESIZE=2048/g` /etc/init.d/memcached
sed -i `s/MAXCONN=1024$/MAXCONN=10240/g` /etc/init.d/memcached
systemctl daemon-reload
service memcached restart
########## 部署memcached end ##########
7.配置supervisord
7.1 啟動supervisord服務
service supervisord start
7.2 修改supervisord配置檔案
vim /etc/supervisord.conf
修改如下資訊:
[include]
files = supervisord.d/*.ini
#[program:hhvm]
#command=/usr/bin/hhvm --mode server --user www --config /etc/hhvm/server.ini --config /etc/hhvm/php.ini --config /etc/hhvm/config.hdf
#numprocs=1 ; number of processes copies to start (def 1)
#directory=/tmp ; directory to cwd to before exec (def no cwd)
#autostart=true ; start at supervisord start (default: true)
#autorestart=unexpected ; whether/when to restart (default: unexpected)
#stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
7.4 新增memcached資訊
vim /etc/supervisord/mc_11211.ini
vim /etc/supervisord/mc_11212.ini
vim /etc/supervisord/mc_11213.ini
新增如下資訊
[program:mc_11211]
command=/usr/local/memcached/bin/memcached -p 11211 -u memcached -m 2048 -c 10240 -l 10.0.0.51
user=root ;執行命令的使用者
numprocs=1 ; 啟動幾個程式 預設 1
#process_name=%(process_num)02d
;directory= ; 執行前要不要先cd到目錄去
autostart=true ; 隨著supervisord的啟動而啟動
autorestart=true ; 是否自動重啟 預設true
startretries=5 ; 啟動失敗時的最多重試次數 預設5
;;exitcodes=0 ; 正常退出程式碼
;;stopsignal=KILL ; 用來殺死程式的訊號
;;stopwaitsecs=10 ; 傳送SIGKILL前的等待時間
redirect_stderr=true ; 重定向stderr到stdout
stdout_logfile=/data/logs/error/supervisor/mc_11211.log
stderr_logfile=/data/logs/error/supervisor/mc_11211.log
8.最終配置
關閉防火牆服務
systemctl stop firewalld.service
systemctl disable firewalld.service
關閉memcached服務
service memcached stop
關閉memcached開機自啟
chkconfig memcached off
重啟supervisord,採用supervisord啟動memcached
service supervisord restart