服务器环境的安装简略的步骤;备忘。可以写一个脚本,这对安装多台服务器是非常有必要的。省时省力。
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