背景
之前一直都是用 php 做网站开发,自己弄了个学生版云服务器,把网站都放在上面,当时不擅长 linux,一键搭建了一个 amh,可以非常方便的搭建常用的网站运行环境,但是需要收费 6元/月,但是把所有网站数据交给他处理,还是有点不放心,而且我这个 cenos 系统运行有差不多 3年了,最新一直被提醒有漏洞,内存运行异常,所以打算彻底重装一次,不再用第三方服务,当然之前的网站也需要再搭建起来。
感觉有点没事找事,程序员就喜欢瞎折腾吧。
流程
备份数据库和网站代码源文件
amh 提供自动备份工具,利用该工具进行立即备份,会同时备份到服务器和第三方云存储,我配置的是七牛云。如果没有配置第三方云存储,则需要下载到自己电脑上,然后上传到重装后的系统上去。
下载备份文件操作
在自己电脑上运行 scp work@xxx.xxx.xxx.xxx:/home/wwwroot/xxxx /desktop/xxxxx
重装服务器
重装系统在阿里云上叫更换系统盘,然后我选择 Ubuntu 16 版本镜像,重装后设置密码
上传备份的文件
依然使用 scp 命令
解压
后台解压,避免终端关闭后中断:( tar -zxvf file.tar.gz.amh &)
安装 apache、php、mysql
apache
1 | // 以 root 身份登录,可以省去 sudo |
apache 常用操作 sudo service apache2 restart | stop | start
·
php
ubuntu 16 apt-get 工具默认支持 php 7版本以上的安装,如果需要安装 php 5,需要配置镜像源
1 | sudo add-apt-repository ppa:ondrej/php |
mysql
1 | sudo apt-get install mysql-server |
创建 apache 虚拟主机
copy /etc/apache2/sites-avaliable/default , 命名为 mysite
修改配置文件:mysite,改成需要的域名和 web 源文件位置
建立链接文件
sudo ln -s /etc/apache2/sites-available/mysite /etc/apache2/sites-enabled/mysite重启 apache 服务器
service apache2 restart
配置 php 拓展
大部分 php 系统都会依赖第三方拓展,基本上都可以用 apt-get 安装,如下拓展是 thinkcmf 系统必须要的
GD 图像库
apt-get install php5-gd
- MBString
apt-get install php5-mbstring
在安装拓展的时候,基于 php 5 的拓展会遇到知不道包的问题,需要更换镜像源,包名的 php不携带版本号,则默认装最新版本,例如 php-gd。
拓展模块安装后需要重启 apache 页面才生效
数据库
恢复数据库
- 登录数据库:
mysql -u root -p
- 执行sql:
mysql> source sql-file
创建用户
- 添加用户:
CREATE USER 'user-name'@'localhost' IDENTIFIED BY 'user-password'
- 配置用户数据库权限:
GRANT all privileges ON database-name.* TO user-name@localhost identified by 'user-password';
- 刷新权限配置:
flush privileges;