在服务器上用ip访问安装discuzq

在服务器上用ip访问安装discuzq,第1张

用ip访问安装discuzq有二种方法:

1、使用Discuzq安装工具,在安装之前,请先确保自己的服务器上完成了以下配置,已经安装好了MySQL5,7(或MariaDB10,2)及以上版本的数据库,已经安装好了Nginx,Apache或IISWeb服务器。基于Docker容器运行Discuzq。

2、首先确保你的服务器安装好了docker-ce运行环境。此容器基于Ubuntu18。其中安装了Nginx114, PHP72, MySQL57 和所有的相关依赖,并且已经完成了Web服务器配置和计划任务配置,可直接进入安装界面进行初始化。数据库root用户的密码已被设置为 root。

网站的空间有独立与虚拟之分,下面分别介绍两种空间的搬家方法。

  一、独立主机

  网站搬家即数据的迁移,搬家前不论独立还是虚拟主机,网站都需关闭。数据的迁移分为数据库数据及程序和附件文件两部分的的迁移。

  数据库的迁移:首先停止老服务器上的 MySQL。复制 MySQL 数据存放目录下的数据文件,至于MySQL 的数据存放目录,可以查看 MySQL 配置文件中的 datadir 参数。(对于 Linux 系统的 MySQL配置文件一般为 /etc/mycnf ,Windows 环境下为 MySQL 安装目录路径的根目录下的 myini 文件。)

将数据文件移到新服务器相对应的 MySQL 数据存放目录下,这里注意到的一点就是对于 Linux 系统,注意移动数据文件之后,将相对应的文件属主改成你的 MySQL 运行账号。

  程序和附件的迁移:将你的老服务器 WEB 目录下所有文件移到新服务器的 WEB 目录即可。

  修改配置文件信息:

1、Discuz! X15 的配置文件在 config 目录下,即 configglobalphp 和configucenterphp 两个文件。

2、UCenter 的配置文件在 data 目录下,即 configincphp 文件。

配置文件里记录的数据库地址、访问用户名、密码都要根据你的新服务器的相应信息进行修改。同时,如果你的域名发生变化,要修改配置文件中相应的域名信息。

3、由于 UCenter 的后台存放了各个应用的配置信息,所以当你修改完配置文件的信息之后,对应的需要去 UCenter 的应用管理中,把对应的信息(尤其是 IP 和域名)校正为正确的地址。

  至此,对于独立主机用户的站点快速搬家流程说明完毕。整个流程比较简单,唯一消耗的主要在于时间,当然这需要根据你的站点和传输速度而定。

二、虚拟主机

  虚拟主机的数据库数据一般站长是直接拿不到的,最好是通过网站后台备份数据库数据,然后到新的空间中恢复数据库的备份就可以了,但新空间要全新安装一遍程序。

1、备份:

  网站的数据部分,可以在 UCenter 后台直接进行备份,

登录 UCenter 后台→数据备份

在 UCenter 下可以只备份 UCenter 的数据,也可以备份所有应用或者部分应用的数据,这里我们选择备份所有应用的数据。提交后等待备份完成,可以到数据备份记录里查看。这里需要注意的是,在 UCenter 备份的整站数据有两部分,分别存放在 UCenter 和 Discuz! X 里面各一部分:UCenter 是在/uc_server/data/backup_日期_ABCDEf(ABCDEF是备份数据名称范例);Discuz! X 是在网站根目录 /data/backup_日期_ABCDEf(ABCDEF是备份数据名称范例)。很多人的问题就出现在这里,上传数据库备份文件的时候,千万要注意这两个备份文件要放到正确的位置,避免数据不完整丢失,造成会员,帖子等数据出错。

  备份程序文件相对于虚拟主机来说,就要特别注意 UCenter 和 Discuz! X 的配置文件和存在 UCenter 中的头像等的备份。

  备份 UCenter 的所有程序文件,其中要注意 data 目录以及其下的 configincphp 文件一定不能丢失,data 目录下的 backup 目录下存放的是刚才备份的数据,avatar 目录下存放的是所有会员的头像,所以这些文件一定不能丢失。

  备份论坛的所有程序文件,其中要注意 data/attachment 附件目录以及 config 目录下的 configglobalphp和configucenterphp 文件一定不能丢失。如果有模板风格的,也要单独备份后下载,待新空间安装完毕,再重新上传启用;之前网站有通过DIY的页面,这时要导出备份,新空间装完再导入即可。

  还有一点很重要:确保搬入服务器和原服务器的数据库版本和编码一致,如果编码一不致可能会出现乱码的情况。

2、安装新程序及附件、头像等的上传

  全新安装论坛,安装的时候 Discuz! X 及 UCenter 数据库名以及表名前缀一定要和原来的一致;

程序头、尾(如果有改动)、diy数据都要重新覆盖;下载到本地的附件、头像等数据上传到新空间正确的位置;伪静态规则文件、模板文件及Logo网站标识等重新上传到新空间正确位置。

3、恢复数据库

  首先登录到 UCenter 后台,检查各应用是否通信成功,然后用创始人登录:

UCenter 后台→数据备份→数据备份记录→数据恢复→(找到相应的备份,如果备份显示不存在,那就说明备份文件上传的位置错了!)点击“详情”→选择备份的数据→提交。

4、后续操作

  由于 UCenter 以及 Discuz! X 的 URL 路径和之前比发生了变化,所以要在 UCenter 后台修改为正确的路径。

UCenter 管理后台→应用管理→编辑

Discuz! X 的 URL 路径。检查应用的 UCenter 配置信息,UCenter 管理后台→应用管理→编辑论坛的应用,找到应用的UCenter 配置信息,复制其中的全部内容,分别覆盖到论坛的 config 文件最后的关于 UCenter 的配置信息部分。更新UCenter及论坛的缓存后,网站搬家基本就好了,剩下的伪静态等问题,要确认服务器设置好 rewrite 后,在设置开启。

使用了国外的空间的站长经常会苦恼空间访问速度慢,DNS解析反应慢的问题。为了解决这些问题,最好的办法就是使用CDN,加快博客和网站从国内的访问速度,提高用户体验度。而且适合DZ使用任何一种CDN产品之后照成的这种情况。

首先说手该问题导致的结果:

1Discuz论坛可能无法获得用户的真实IP,导致某些用户IP显示的是CDN产品节点的IP

2论坛访问量过大的话,可能会导致用户访问时提示“抱歉,您的 IP 地址不在被允许,或您的账号被禁用,无法访问本站点”

接下来谈谈产生原因:

使用CDN,对于网站访客来说,相当于使用了代理访问,而DZ在设计上,是优先获取代理IP,其它才会检测代理服务器是否将用户真实IP传输过来,也就是说获取代理IP优先于用户真实IP。如果您的网站不需要对用户访问做过多的限制,强烈建议按照以下方法进行:

第一种(DZ X2版本):打开DZ,/source/class/class_corephp 文件;

搜索“HTTP_CLIENT_IP”,找到下面这段代码:

function _get_client_ip() {

$ip = $_SERVER[‘REMOTE_ADDR’];

if (isset($_SERVER[‘HTTP_CLIENT_IP’]) && preg_match(‘/^([0-9]{1,3}\){3}[0-9]{1,3}$/’, $_SERVER[‘HTTP_CLIENT_IP’])) {

$ip = $_SERVER[‘HTTP_CLIENT_IP’];

} elseif(isset($_SERVER[‘HTTP_X_FORWARDED_FOR’]) AND preg_match_all(‘#\d{1,3}\\d{1,3}\\d{1,3}\\d{1,3}#s’, $_SERVER[‘HTTP_X_FORWARDED_FOR’], $matches)) {

foreach ($matches[0] AS $xip) {

if (!preg_match(‘#^(10|172\16|192\168)\#’, $xip)) {

$ip = $xip;

break;

}

}

}

return $ip;

}

替换成一下代码:

function _get_client_ip() {

$ip = $_SERVER[‘REMOTE_ADDR’];

if (isset($_SERVER[‘HTTP_X_REAL_FORWARDED_FOR’]) && preg_match(‘/^([0-9]{1,3}\){3}[0-9]{1,3}$/’, $_SERVER[‘HTTP_X_REAL_FORWARDED_FOR’])) {

$ip = $_SERVER[‘HTTP_X_REAL_FORWARDED_FOR’];

}

elseif (isset($_SERVER[‘HTTP_X_FORWARDED_FOR’]) && preg_match(‘/^([0-9]{1,3}\){3}[0-9]{1,3}$/’, $_SERVER[‘HTTP_X_FORWARDED_FOR’])) {

$ip = $_SERVER[‘HTTP_X_FORWARDED_FOR’];

}

elseif (isset($_SERVER[‘HTTP_CLIENT_IP’]) && preg_match(‘/^([0-9]{1,3}\){3}[0-9]{1,3}$/’, $_SERVER[‘HTTP_CLIENT_IP’])) {

$ip = $_SERVER[‘HTTP_CLIENT_IP’];

}

return $ip;

}

希望可以帮助到你

如果你要查看已经注册用户的ip 那可以在相关页面相应你要显示的区域加一段显示判断ip地址甚至登录地点的php代码

这个代码你可以在网上去找

如果是游客的话 就麻烦了 因为游客的ip discuz可能没记录 你想想所有游客的ip全记录的话 那系统压力就太大了

你是要改内网IP还是公网IP?

内网IP你可以自己随意改,公网IP只要买过来了也可以改啊

对服务器有没有影响,这个要看你服务器上运行的项目了,一般来说,建站的大部分只需要改下域名解析就行了。不过还要具体看你服务器上的项目。比如discuz还要修改UC通讯。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 在服务器上用ip访问安装discuzq

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情