虽说这也不是我第一次转移这个论坛了,但毕竟还是第一次自己配置VPS,写点东西记一下
一:关于VPS的配置
1.用TeamViewer连接服务器
这个VPS的IDC自己带有一个远程控制的页面,用浏览器打开之后感觉非常的卡,并且好像没有给RDP,于是我就想到了TeamViewer,以前帮别人修电脑远程控制时就是用的这个,软件体积很小,并且自带中文。我也考虑过VNC,但是VNC控制内网里的主机是非常麻烦的,于是我就选择了TeamViewer作为远程控制的工具。
TeamViewer对于维护服务器之类的无人值守的机器可以设定“无人值守访问。首先需要注册一个账号,然后再服务器上安装tv后登陆这个账号再到设置中设定密码并勾选"授权xx轻松访问"就可以了(xx是你的用户名)
关于怎么连我也不用细说了吧。。在右面的窗格中找到你的服务器,双击,输入密码就可以了,密码貌似会自动保存,也就是说只要输一次以后就不用输了。
刚打开可能会是16色模式,那是正常现象,一会就能变成256色了
刚刚打开
几秒后
2.在IIS中创建新的网站&绑定域名
对于我这种用惯了WAMP那样的集成开发环境的人来说,刚开始面对IIS这种东西确实有点不知所措。这台VPS环境是MySQL+IIS+FastCGI+PHP,其他三个我知道是什么,唯独FastCGI这个我不知道是什么。下文引自百度百科
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。
其实换句话说他就是各种服务器脚本的解释器,就是把PHP代码运行之后输出出去的东西,在IIS和PHP之间起连接器作用。
服务器上IIS的版本是IIS6,新建网站在左边“网站”上点左键,依次选“新建”-“网站”,根据提示一步一步走就可以了,唯独需要注意,对于Discuz这种程序需要给他写入权限,如图画箭头的要选上,最后一个不要选,因为我感觉这个好像和404时列出目录文件有很大关系,对网站安全有极大威胁,所以不要选
如果新建网站时忘记选这些了也可以在网站属性主目录中找到这些选项并设定
绑定域名:选择你建立的网站,右键,网站选项卡,点击网络标识中的高级,点击添加,TCP端口填80,主机头值填你的域名(注意不要带http://)点击三下确定就好了,然后进你的域名的DNS,添加记录,甩A记录到你的主机公网IP上就可以了
二:转移Discuz
1.导入数据库
关于导入数据库可以在phpmyadmin中进行,但是环境的默认上传大小只有2M,我还懒得改,于是就在服务器上安装navicat,建了个数据库,并且建了个单独供dz使用的账户,直接跑了遍那个sql文件就好了。
2.改DZ的配置文件
下面着重讲解关于修改dz配置文件的问题,可能有的朋友去百度一搜就拍脑门去改config文件夹下的config.inc.php,其实这样只是对了40%,完整的修改数据库配置需要改三个文件。我们都知道Discuz至少由三部分主城:DiscuzBoard、UCenter,DiscuzBoard是论坛的主程序,而UCenter是管理数据库的,修改config文件夹下的config.inc.php只是修改了DiscuzBoard的数据库配置,如果仅仅修改他就会造成页面可以正常显示用户和后台却登陆不上的问题。下面我这三个文件和所有需要修改的地方贴出来:
1.\config\config.inc.php
(注意这个反斜杠:Windows主机是"\"而Linux主机是"/",如果用混的后果就是找不到这个目录)
1 $_config[‘db‘][‘1‘][‘dbhost‘] = ‘localhost‘; //数据库主机地址,本地就是localhost或127.0.0.1 2 $_config[‘db‘][‘1‘][‘dbuser‘] = ‘user‘; //数据库用户名 3 $_config[‘db‘][‘1‘][‘dbpw‘] = ‘password‘; //数据库密码 4 $_config[‘db‘][‘1‘][‘dbcharset‘] = ‘utf8‘; //数据库整理(换句话说就是编码) 5 $_config[‘db‘][‘1‘][‘pconnect‘] = ‘0‘; 6 $_config[‘db‘][‘1‘][‘dbname‘] = ‘name‘;//数据库名 7 $_config[‘db‘][‘1‘][‘tablepre‘] = ‘pre_‘;//表前缀 8 $_config[‘db‘][‘slave‘] = ‘‘; 9 $_config[‘db‘][‘common‘][‘slave_except_table‘] = ‘‘;
2.\config\config_ucenter.php
define(‘UC_DBHOST‘, ‘localhost‘); //数据库主机地址 define(‘UC_DBUSER‘, ‘user‘);//用户名 define(‘UC_DBPW‘, ‘pass‘);//密码 define(‘UC_DBNAME‘, ‘name‘);//数据库名称 define(‘UC_DBCHARSET‘, ‘utf8‘); define(‘UC_DBTABLEPRE‘, ‘`name`.pre_ucenter_‘);//这里name改成数据库名称,pre_ucenter_是ucenter的表前缀,如果安装时不是默认值就改 define(‘UC_DBCONNECT‘, 0);
3.\uc_server\data\config\config.inc.php
define(‘UC_DBHOST‘, ‘localhost‘);//主机地址 define(‘UC_DBUSER‘, ‘user‘);//用户名 define(‘UC_DBPW‘, ‘password‘);//密码 define(‘UC_DBNAME‘, ‘name‘);//数据库名 define(‘UC_DBCHARSET‘, ‘utf8‘);//数据库整理(编码) define(‘UC_DBTABLEPRE‘, ‘pre_ucenter_‘);//表前缀
------------------------------
哎。。折腾一早上总算折腾完了(>_<)