服務器環境的安裝簡略的步驟;備忘。可以寫一個腳本,這對安裝多臺服務器是非常有必要的。省時省力。
1、更新epel源
- #rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
- #rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
- #yum install yum-priorities
- #yum update
- #yum upgrade
2、關閉selinux
修改/etc/selinux/config
將SELINUX=enforcing修改爲SELINUX=disabled
#setenforce 0
3、修改ssh配置
修改/etc/ssh/sshd_config
禁用root用戶登錄: #PermitRootLogin yes修改爲PermitRootLogin no
加快ssh登錄:#UseDNS yes 修改爲UseDNS no
重啓:service sshd restart
iptables 2233端口開啓
#service iptables restart
4、修改系統時間
- #yum -y install ntp
- #ntpdate ntp.fudan.edu.cn
- #cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
5、基礎服務
- #yum install wget gcc gcc-c++ make openssl-devel openssh-clients
Nginx一般是配置了2個附加模塊的:pcre和ngx_cache_purge,前者用來支持正則表達式解析,後者用來支持緩存動態請求。pcre需要先安裝
6、安裝pcre
- #wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.gz
- #tar -zxvf pcre-8.31.tar.gz
- #cd pcre-8.31
- #./configure --prefix=/usr/local/pcre-8.31
- #make && make install
7、安裝cache_purge
- #wget http://labs.frickle.com/files/ngx_cache_purge-1.6.tar.gz
- #tar -zxvf ngx_cache_purge-1.6.tar.gz
8、nginx安裝
使用 /usr/local/nginx/sbin/nginx -V 可以查看配置參數,這點在基於一個已有nginx給另外一臺服務器安裝是很有用的。
- #groupadd nginx
- #useradd -g nginx nginx
- #wget http://nginx.org/download/nginx-1.2.4.tar.gz
- #tar -zxvf nginx-1.2.4.tar.gz
- #cd nginx-1.2.4
- #./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-pcre=pcre解壓的目錄路徑 --with-http_ssl_module --add-module=前面第七步解壓的路徑
- #make && make install
- #/usr/local/nginx/sbin/nginx
增加啓動腳本然後開啓iptables 80端口
- vi /etc/sysconfig/iptables 增加
- #-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
- 重啓服務
- #service iptables restart
9、安裝php-fpm、mysql等
- #rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
- #yum install yum-priorities
- #vi /etc/yum.repos.d/ remi.repo
插入下面內容
- [remi]
- name=Les RPM de remi pour Enterprise Linux $releasever - $basearch
- #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/
- mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror
- enabled=1
- priority=10
- gpgcheck=1
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
- failovermethod=priority
保存,然後
- #yum install php mysql mysql-server php-mysql php-gd php-xml php-mbstring php-ldap php-pear php-mcrypt php-xmlrpc php-devel mysql-connector-odbc mysql-devel libdbi-dbd-mysql
- #chkconfig nginx on
- #chkconfig mysqld on
- #chkconfig php-fpm on
- #service nginx start
- #service mysqld start
設置mysql root密碼
- # mysql
- > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456')
10、安裝jdk7+tomcat7
http://zgssheng.blog.51cto.com/1522377/829267
11、安裝snmp
- #yum install -y net-snmp net-snmp-utils
- 配置就不詳細列出了
- #chkconfig snmpd on
- #service snmpd restart
12、添加數據庫備份腳本
/data/backup/mysql_backup.sh
- #!/bin/bash
- #功能說明:本功能用於備份整個數據庫
- PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
- export PATH
- dbuser='root'
- dbpasswd='123456'
- #time
- backtime=`date +%Y%m%d%H%M%S`
- #log path
- logpath='/data/backup/all/'
- #datapath
- datapath='/data/backup/all/'
- echo ‘"備份時間爲${backtime} 開始" >> ${logpath}/mysqllog.log
- source=`mysqldump -u ${dbuser} -p${dbpasswd} --all-databases > ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
- if [ "$?" == 0 ];then
- cd $datapath
- tar jcf ${backtime}.tar.bz2 ${backtime}.sql > /dev/null
- rm -f ${datapath}/${backtime}.sql
- echo "數據庫表 ${dbname} 備份成功!!" >> ${logpath}/mysqllog.log
- else
- echo "數據庫表 ${dbname} 備份失敗!!" >> ${logpath}/mysqllog.log
- fi
- #!/bin/bash
- #用於備份單個或幾個數據庫
- PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
- export PATH
- dbuser='root'
- dbpasswd='123456'
- dbname='mysql'
- backtime=`date +%Y%m%d%H%M%S`
- logpath='/data/backup/one/'
- datapath='/data/backup/one/'
- echo ‘"備份時間爲${backtime},備份數據庫表 ${dbname} 開始" >> ${logpath}/mysqllog.log
- for table in $dbname; do
- source=`mysqldump -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
- if [ "$?" == 0 ];then
- cd $datapath
- tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null
- rm -f ${datapath}/${backtime}.sql
- echo "數據庫表 ${dbname} 備份成功!!" >> ${logpath}/mysqllog.log
- else
- echo "數據庫表 ${dbname} 備份失敗!!" >> ${logpath}/mysqllog.log
- fi
- done
13、nginx日誌分割腳本
- #!/bin/bash
- # This script run at 00:00
- # The Nginx logs path
- logs_path="/var/log/nginx/"
- time_dir=$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
- fulltime=$(date -d "yesterday" +"%Y%m%d")
- declare -a items
- items[0]=nginxstatus
- items[1]=access
- items[2]=error
- for item in ${items[@]}
- do
- mkdir -p ${logs_path}${item}/${time_dir}/
- mv ${logs_path}${item}.log ${logs_path}${item}/${time_dir}/${item}_${fulltime}.log
- done