Windows Server网站数据迁移
由于一台服务器(A)下架,所以需要将之前的网站转移到另外一台服务器(B)当中。整个项目为PHP的项目,采用了Zkeys的集成化工具(PHP,MySQL,PhpMyAdmin)。
备份MySQL数据库文件
在MySQL中直接拷贝
在A中拷贝原有数据库文件,一般情况,MySQL的数据文件会在
mysql安装目录/data/对应的数据库名称
如果没有找到安装目录,则可以通过进入MySQL命令行的方式获取
mysql -u用户名 -p密码
进入mysql命令行控制台,输入下面语句即可查看
show global variables like ‘%datadir%’;
将数据库文件(一般为frm,MYD,MYI格式),拷贝B服务器中对应的数据库中(别忘了先在B中新建同名的服务器,然后再拷贝)。
通过mysqldump工具备份数据库文件(推荐)
比较推荐使用这种方式,方便快捷
mysqldump -u用户名 -p密码 数据库名 > 备份位置/文件名.sql
然后在B机器中,进入mysql的命令行执行以下操作
mysql -u用户名 -p密码
查看当前数据库所有DB
mysql> show databases;
如果没有对应的DB,则自己可以新建一个
mysql> create database xxx;
切换到当前DB
mysql> use xxx;
执行上面的sql文件,进行恢复
mysql> source 备份位置/文件名.sql
这样就完成了数据库的迁移。
备份网站源代码
在A中,找到对应网站的web访问目录,右键执行压缩操作。这里有一个值得注意的问题,尽量使用ZIP的方式打包,而不要使用RAR。
我认为原因有下:
- RAR不是一个通用格式,有专利,在国外也不算是很流行的一个文件交换格式。
- ZIP是开放的压缩格式,对于跨平台支持良好,且格式透明,不容易出错
将打包好的文件,拷贝到B中的web访问目录,然后解压即可。
配置IIS
先需要在对应的网站上面添加一个网站(打开IIS-右键「网站」-「添加网站」),在这里输入网站名称以及网站Web目录
注意留意这里的权限问题
- 测试一下目前的权限
- 如果提示权限有问题,则需要对该网站指定一个隶属于ISS_IUSER的用户进行授权
为每个网站创建IIS用户(非常重要)
打开「计算机管理」-「本地用户和组」- 「用户」,在右侧空白出右键选择「新用户」,输入用户信息,建议采用user+网站名的方式。下方需要勾选「用户不能更改密码」和「密码永不过期」。
双击刚刚新建的用户,切换到「隶属于」页,删除默认的用户,添加IIS_IUSER。
当新建好这个用户后,在刚才的IIS对应的网站中,将该网站指定为这个用户连接。
设置IIS应用程序池
切换到IIS应用程序池列表,选中需要设置的应用,点击右侧「高级设置」,其中需要修改两个设置:
- 启用32位应用程序 - True
- 托管管道模式 - Classic
配置Web目录权限
右键选择对应网站的Web目录,切换到「安全」点击「编辑」将刚刚新建的用户添加进来,确认权限为「完全控制」。
测试
找到机器中Host所在地址
Windows : C:WindowsSystem32driversetc
Mac/Linux : /etc/hosts #注意这里需要sudo权限
打开Host,添加本地Host解析
B服务器IP 网站域名 #例如:114.114.144.144 www.baidu.com
在本地浏览器中访问网站域名,看是否正常。
以上。