转载请注明出处:http://www.jb51.cc/article/p-ozoansch-beo.html,谢谢!
1、概述
本博客原搭建在Windows Server 2012 服务器上,直接使用了Appserv一键搭建的环境。
当前网站架构:
但是后来学习Docker等一些依赖Linux的的技术(虽然可以用虚拟机,但是Winserver换到Linux又不难),就决定干脆用Linux当服务器吧。
Linux也顺理成章选择了Centos 7.2,下面就演示这一过程。
2、数据备份
原博客的数据是一定要保存的,主要就是文件和数据库,因为应用于数据并没有分离,文件就在网站目录内,所以直接将网站根目录打压缩包备份到本地。
数据库直接使用工具导出为sql文件即可,恢复起来也是特别方便。
3、程序安装
因为本人为云服务器,Centos 的安装也是全自动的(本地安装也简单),此处就不多说了。
本文默认大家使用root用户登录,如果执行下面命令碰到权限不足时,请添加“sudo ”到命令最前面。
在安装程序前,先执行更新(升级所有包同时也升级软件和系统内核):
3.1、数据库
本人使用的数据库之前是MysqL,但因为从Centos 7.0开始,默认支持的是mariaDB,而且mariaDB几乎是完全兼容MysqL的,所以本人就选择使用mariaDB,而MysqL的安装和使用也几乎是相同的。
MariaDB数据库管理系统是MysqL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MysqL,包括API和命令行,使之能轻松成为MysqL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MysqL的InnoDB。
安装:
yum install mariadb mariadb-server
安装过程会显示需要的空间,并询问是否继续,输入“y”即可,之后的其他程序安装也会有类似提示,此处统一说明。
启动:
systemctl start mariadb
设置自启动:
mariadb systemctl enable mariadb
MysqL_secure_installation
根据提示,设置好数据库root用户密码即可(默认密码为空,直接回车就可以开始设置密码了)。
MysqL uroot ppassword
至此,数据库安装成功。
3.2、Apache
安装过程比较简单。
安装:
yum install httpd
其他可能会用到的命令,此处一次给出:
systemctl start httpd.service #启动
Apache安装并启动后,就可以输入“http://127.0.0.1”测试了,在控制台可以通过wget命令:
wget http://127.0.0.1
3.3、PHP
因为本人博客使用的是TypeCho,所以需要PHP运行环境。
yum install PHP
yum install PHPMysqL PHPgd libjpeg* PHPldap PHPodbc PHPpear PHPxml PHPxmlrpc PHPmbstring PHPbcmath PHPmhash
完成后,就可以将博客的数据恢复到环境中来。
4、恢复数据
4.1 SSH
为了方便管理Linux服务器,SSH工具必不可少,首先要在服务器(Linux)安装SSH工具。
安装SSH:
yum install ssh
其他命令:
service sshd start #启动服务
4.2、上传网页和文件
然后本地(一般是windows,比较时我们办公的电脑)安装SSH管理客户端,本人使用的是SSH Secure,请自行下载安装。
安装好后使用 SSH Secure File Transfer Client 程序(验证一般是Linux的用户和密码),将我们备份的网站数据解压后上传到服务器对应目录中。
如果Apache是默认安装,网站根目录应该是:“/var/www/html”,直接上传整个原网站的文件到这个目录下即可。
4.3、恢复数据库数据
同样的,使用SSH客户端将备份的sql上传到Centos 服务器的某个目录下,然后通过命令行恢复数据,我们要手动创建数据库,注意编码的设置,以免造成中文乱码。
整个命令如下:
ppassword;
可以查看恢复的表:
show tables 然后退出MysqL命令行:exit。
5、完事儿
此时重启Apache服务器,以保住修改生效。可以试着访问博客,应该是没有问题的。
不知道是不是心理作用,我感觉博客比换系统之前用来去更顺手了 O(∩_∩)O 。
虽然我知道完全没有必要,但我正计划“改进”博客的网站架构,将数据库服务、文件服务、和应用服务分别使用Docker独立部署,并在前面添加一个Nginx做反向代理服务器。也算是实践吧,总结一下学的东西总是好的,毕竟另外一台无公网IP但与当前这台内网相通的服务器已经租好了~~~~(>_<)~~~~。
对了,这是我的博客:http://anxpp.com/
延伸阅读:网站架构设计参考(图文)