Centos6.3服務器環境的搭建

 服務器環境的安裝簡略的步驟;備忘。可以寫一個腳本,這對安裝多臺服務器是非常有必要的。省時省力。

1、更新epel

  1. #rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm 
  2. #rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 
  3. #yum install yum-priorities 
  4. #yum update 
  5. #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、修改系統時間

  1. #yum -y install ntp 
  2. #ntpdate ntp.fudan.edu.cn 
  3. #cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

 

5、基礎服務

  1. #yum install wget gcc gcc-c++ make openssl-devel openssh-clients 

 

Nginx一般是配置了2個附加模塊的:pcre和ngx_cache_purge,前者用來支持正則表達式解析,後者用來支持緩存動態請求。pcre需要先安裝

 

6、安裝pcre

 

  1. #wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.gz 
  2. #tar -zxvf pcre-8.31.tar.gz 
  3. #cd pcre-8.31 
  4. #./configure --prefix=/usr/local/pcre-8.31 
  5. #make && make install 

 

 

7、安裝cache_purge

 

  1. #wget http://labs.frickle.com/files/ngx_cache_purge-1.6.tar.gz 
  2. #tar -zxvf ngx_cache_purge-1.6.tar.gz 

8nginx安裝

使用 /usr/local/nginx/sbin/nginx -V 可以查看配置參數,這點在基於一個已有nginx給另外一臺服務器安裝是很有用的。

 

  1. #groupadd nginx 
  2. #useradd -g nginx nginx 
  3. #wget http://nginx.org/download/nginx-1.2.4.tar.gz 
  4. #tar -zxvf nginx-1.2.4.tar.gz 
  5. #cd nginx-1.2.4 
  6. #./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-pcre=pcre解壓的目錄路徑 --with-http_ssl_module --add-module=前面第七步解壓的路徑 
  7. #make && make install 
  8. #/usr/local/nginx/sbin/nginx 

增加啓動腳本然後開啓iptables 80端口

 

  1. vi /etc/sysconfig/iptables 增加 
  2. #-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 
  3. 重啓服務 
  4. #service iptables restart 

 

9、安裝php-fpmmysql

 

  1. #rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi 
  2. #yum install yum-priorities 
  3. #vi /etc/yum.repos.d/ remi.repo 

插入下面內容

 

  1. [remi] 
  2. name=Les RPM de remi pour Enterprise Linux $releasever - $basearch 
  3. #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/ 
  4. mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror 
  5. enabled=1 
  6. priority=10 
  7. gpgcheck=1 
  8. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi 
  9. failovermethod=priority 

保存,然後

  1. #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 
  2.  
  3. #chkconfig nginx on 
  4. #chkconfig mysqld on 
  5. #chkconfig php-fpm on 
  6. #service nginx start 
  7. #service mysqld start 

設置mysql root密碼

 

  1. # mysql 
  2. > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456') 

 

 

10、安裝jdk7+tomcat7

http://zgssheng.blog.51cto.com/1522377/829267

11、安裝snmp

 

  1. #yum install -y net-snmp net-snmp-utils 
  2. 配置就不詳細列出了 
  3. #chkconfig snmpd on 
  4. #service snmpd restart 

 

12、添加數據庫備份腳本

/data/backup/mysql_backup.sh

 

  1. #!/bin/bash 
  2. #功能說明:本功能用於備份整個數據庫 
  3.  
  4. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin 
  5. export PATH 
  6.  
  7. dbuser='root' 
  8. dbpasswd='123456' 
  9.  
  10. #time 
  11. backtime=`date +%Y%m%d%H%M%S` 
  12. #log path 
  13. logpath='/data/backup/all/' 
  14. #datapath 
  15. datapath='/data/backup/all/' 
  16.  
  17. echo ‘"備份時間爲${backtime} 開始" >> ${logpath}/mysqllog.log 
  18.  
  19. source=`mysqldump -u ${dbuser} -p${dbpasswd} --all-databases > ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log; 
  20.  
  21. if [ "$?" == 0 ];then 
  22.     cd $datapath 
  23.     tar jcf ${backtime}.tar.bz2 ${backtime}.sql > /dev/null 
  24.     rm -f ${datapath}/${backtime}.sql 
  25.  
  26.     echo "數據庫表 ${dbname} 備份成功!!" >> ${logpath}/mysqllog.log 
  27. else 
  28.     echo "數據庫表 ${dbname} 備份失敗!!" >> ${logpath}/mysqllog.log 
  29. fi 

 

  1. #!/bin/bash 
  2. #用於備份單個或幾個數據庫 
  3. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin 
  4. export PATH 
  5.  
  6. dbuser='root' 
  7.  
  8. dbpasswd='123456' 
  9.  
  10. dbname='mysql' 
  11.  
  12. backtime=`date +%Y%m%d%H%M%S` 
  13.  
  14. logpath='/data/backup/one/' 
  15.  
  16. datapath='/data/backup/one/' 
  17.  
  18. echo ‘"備份時間爲${backtime},備份數據庫表 ${dbname} 開始" >> ${logpath}/mysqllog.log 
  19.  
  20. for table in $dbname; do 
  21. source=`mysqldump -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log; 
  22.  
  23. if [ "$?" == 0 ];then 
  24.     cd $datapath 
  25.  
  26.     tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null 
  27.  
  28.     rm -f ${datapath}/${backtime}.sql 
  29.  
  30.     echo "數據庫表 ${dbname} 備份成功!!" >> ${logpath}/mysqllog.log 
  31. else 
  32.  
  33.     echo "數據庫表 ${dbname} 備份失敗!!" >> ${logpath}/mysqllog.log 
  34. fi 
  35.  
  36. done 

 

13、nginx日誌分割腳本

 

  1. #!/bin/bash 
  2. # This script run at 00:00 
  3.  
  4. # The Nginx logs path 
  5. logs_path="/var/log/nginx/" 
  6. time_dir=$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m") 
  7. fulltime=$(date -d "yesterday" +"%Y%m%d") 
  8.  
  9. declare -a items 
  10. items[0]=nginxstatus 
  11. items[1]=access 
  12. items[2]=error 
  13.  
  14. for item in ${items[@]} 
  15.   do 
  16.   mkdir -p ${logs_path}${item}/${time_dir}/ 
  17.   mv ${logs_path}${item}.log ${logs_path}${item}/${time_dir}/${item}_${fulltime}.log 
  18. done 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章