一、目标
创建服务器环境,主要包括:
Apache2.4.7 server
PHP 5.5.9
Mysql 5.5.49
扩展:
Memcache
Mcrypt
二、准备工作
1、服务器系统版本 Ubuntu server 14.04 amd64
2、更新源:
apt-get update
3、SSH相关工具安装:
sudo apt-get install openssh-server openssh-client
修改ssh配置:
vim /etc/ssh/ssh_config
PasswordAuthentication no #把前面的注释#取消,yes修改为no,这样就禁用所有账号通过密码验证登录
安装 rz sz zip 方便代码上传:
apt-get install lrzsz unzip
三、环境工具安装
1、amp最小化安装:
sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server
中途安装mysql时提示设置root管理员密码,2次输入后继续。
安装好后自行测试是否成功。
配置文件相关目录:
apache:/etc/apache2
php5:/etc/php5
mysql:/etc/mysql
最小化安装php以mod方式运行,apache以prefork方式工作,可配置优化相关参数。
可修改apache2默认目录 /var/www/html
修改配置文件:
sudo vim /etc/apache2/apache2.conf
重启apache 服务:
sudo /etc/init.d/apache2 restart
2、开启mysql远程访问
修改配置文件/etc/mysql/my.cnf 注释 bind-ip 127.0.0.1
检查防火墙 3306端口是否开启
Mysql远程授权:
#GRANT ALL PRIVILEGES ON *.* TO 'username'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION; #flush privileges;
3、安装memcached
sudo apt-get install memcached
安装完Memcache服务端以后,我们需要启动该服务
sudo memcached -d -m 128 -p 11211 -u root
接下来安装Memcache客户端:
sudo apt-get install php5-memcache
重启apache服务后可测试 memcache
4、安装其它php扩展
sudo apt-get install php5
然后按tab键 可以看到php扩展
sudo apt-get install php5-gd php5-curl
安装mcrypt 扩展:
# sudo apt-get install php5-mcrypt # cd /etc/php5/apache2/conf.d/ # sudo ln -s ../../mods-available/mcrypt.ini ./20-mcrypt.ini # sudo service apache2 restart
四、防火墙设置
//查看防火墙设置 sudo ufw status //打开防火墙 sudo ufw enable //关闭防火墙 sudo ufw disable //查看防火墙规则 默认关闭所有端口 sudo ufw status verbose //开启相应端口 sudo ufw allow 22 sudo ufw allow 80 sudo ufw allow 3306
五、Mysql备份脚本
mysql备份设置:
1,每天4点备份mysql数据;
2,为节省空间,删除超过3个月的所有备份数据;
3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据;
#创建shell文件 backup_mysql.sh:
DB_PASS="password" mysqldump -uroot -p$DB_PASS DBNAME > /root/data/mysqlbak/`date +%Y%m%d`.sql find /root/data/mysqlbak/ -mtime +7 -name '*[1-9].sql' -exec rm -rf {} ; find /root/data/mysqlbak/ -mtime +92 -name '*.sql' -exec rm -rf {} ;
创建定时任务:
crontab –e 0 4 * * * /data/dbdata/backup_mysql.sh
六. Apache日志配置
每天生成一个日志文件:
CustomLog "|/usr/bin/rotatelogs -l ${APACHE_LOG_DIR}/access-%Y-%m-%d.log 86400" common