blog.ustc.edu.cn不能访问

60 views
Skip to first unread message

Wen Wang

unread,
Oct 18, 2016, 4:47:39 AM10/18/16
to USTC_LUG
如题,昨天晚上发现上不去的。

看了是要备份一下自己写的东西了。

Yifan Gao

unread,
Oct 18, 2016, 8:53:20 AM10/18/16
to ustc...@googlegroups.com
应该是维护人员在做安全加固.
On 18 Oct 2016, at 4:47 PM, Wen Wang <ww948...@gmail.com> wrote:

如题,昨天晚上发现上不去的。

看了是要备份一下自己写的东西了。

--
您收到此邮件是因为您订阅了Google网上论坛上的“USTC_LUG”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到ustc_lug+u...@googlegroups.com
访问此群组:https://groups.google.com/group/ustc_lug
要查看更多选项,请访问https://groups.google.com/d/optout

Bojie Li

unread,
Oct 18, 2016, 9:43:42 AM10/18/16
to USTC_LUG
今天中午 Alkaid 跟我说 blog 出问题了,前面去看了两个小时,还没有搞定。

现在主要发现几个问题:
1. php-fpm worker 子进程数量过多,内存不够用。磁盘缓存被换出了,导致大量随机磁盘访问,系统负载特别高,我刚登上去那段时间终端几乎动不了。已经修改了 php-fpm.conf 中的 pm.max_children,从 200 改成了 30。
2. php-fpm worker 的内存管理有 bug。一方面是今天出现大量 SIGSEGV,大多数子进程在处理第一个 http 请求的时候就崩溃了,Alkaid 发现是崩溃发生在 php-fpm 里面 Zend 引擎的内存管理函数。另一方面是存在内存泄露,一个命比较长的 worker 进程内存占用一直在增长,直到分配不出内存而崩溃。
3. 数据库连接有问题,数据库连接断开之后不会自动重连,一旦数据库连接断开,导致该 worker 进程后续的 http 请求都无法访问数据库。
4. php-fpm 的 Unix socket 的权限有问题,之前是 owner root,权限 440,导致 nginx 无权访问 php-fpm unix socket。已经改成 666。不知道是什么时候权限变的。

现在没有在做安全加固。我十一期间合并了 WordPress 程序的最新版代码,但还没有上线。

在 php-sandbox 方面,
(1)通过查询 PHP 调用栈来区分插件、主题的安装和任意 PHP 代码修改,允许插件主题安装但不允许随意修改 PHP 代码,这个尚未上线。大约一个月前我们遇到了两次利用插件漏洞的恶意代码上传事件,一次是被挂黑页、被网监查了水表,一次是滥发垃圾邮件用完了 LUG 的邮件配额。因此 php-sandbox 的文件访问抽象层禁止修改 .php 扩展名的文件,禁止非 .php 扩展名文件的执行。
(2)从 PHP 5.6 迁移到 PHP 7,性能目测可以提高 3 倍,但 PHP 7 的框架变化比较大,目前还没有改完。

我现在事情太多,进展比较慢,请谅解。

2016-10-18 20:53 GMT+08:00 Yifan Gao <subs...@yfgao.com>:
应该是维护人员在做安全加固.

On 18 Oct 2016, at 4:47 PM, Wen Wang <ww948...@gmail.com> wrote:

如题,昨天晚上发现上不去的。

看了是要备份一下自己写的东西了。

--
您收到此邮件是因为您订阅了Google网上论坛上的“USTC_LUG”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到ustc_lug+unsubscribe@googlegroups.com

访问此群组:https://groups.google.com/group/ustc_lug
要查看更多选项,请访问https://groups.google.com/d/optout

--
您收到此邮件是因为您订阅了Google网上论坛上的“USTC_LUG”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到ustc_lug+unsubscribe@googlegroups.com

Yifan Gao

unread,
Oct 18, 2016, 9:52:00 AM10/18/16
to ustc...@googlegroups.com
On 18 Oct 2016, at 9:43 PM, Bojie Li <boj...@gmail.com> wrote:

今天中午 Alkaid 跟我说 blog 出问题了,前面去看了两个小时,还没有搞定。

现在主要发现几个问题:
1. php-fpm worker 子进程数量过多,内存不够用。磁盘缓存被换出了,导致大量随机磁盘访问,系统负载特别高,我刚登上去那段时间终端几乎动不了。已经修改了 php-fpm.conf 中的 pm.max_children,从 200 改成了 30。
我们问下james能不能加点内存和CPU?从监控来看,CPU和内存都比较紧张。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到ustc_lug+u...@googlegroups.com

Wang Shanker

unread,
Oct 18, 2016, 10:02:47 AM10/18/16
to ustc...@googlegroups.com


在 2016年10月18日,21:51,Yifan Gao <subs...@yfgao.com> 写道:


On 18 Oct 2016, at 9:43 PM, Bojie Li <boj...@gmail.com> wrote:

今天中午 Alkaid 跟我说 blog 出问题了,前面去看了两个小时,还没有搞定。

现在主要发现几个问题:
1. php-fpm worker 子进程数量过多,内存不够用。磁盘缓存被换出了,导致大量随机磁盘访问,系统负载特别高,我刚登上去那段时间终端几乎动不了。已经修改了 php-fpm.conf 中的 pm.max_children,从 200 改成了 30。
我们问下james能不能加点内存和CPU?从监控来看,CPU和内存都比较紧张。

我看可以把swap关掉,oom 就直接 kill 掉,毕竟真 oom 的时候 swap 也救不了你。

Bojie Li

unread,
Oct 18, 2016, 10:12:17 AM10/18/16
to USTC_LUG
现在又出现了奇怪的情况,php-fpm 唯一的 worker 线程(我配置了仅有一个 worker 线程以便调试)卡在试图锁住 session 文件的系统调用上了,然而并没有其他进程打开这个文件。真是奇怪。

boj@blog:~$ sudo lsof -n | grep sess_lmgcjps9hd6nsns9t1dg1oek93g30ner
php-fpm   27633             blog   14uW     REG              254,0         0     467814 /tmp/sess_lmgcjps9hd6nsns9t1dg1oek93g30ner
php-fpm   27633             blog   22uW     REG              254,0         0     467814 /tmp/sess_lmgcjps9hd6nsns9t1dg1oek93g30ner
boj@blog:~$ sudo strace -f -p 27633
Process 27633 attached
flock(22, LOCK_EX

Bojie Li

unread,
Oct 18, 2016, 10:14:25 AM10/18/16
to USTC_LUG
2016-10-18 22:02 GMT+08:00 Wang Shanker <shanker...@gmail.com>:
我看可以把swap关掉,oom 就直接 kill 掉,毕竟真 oom 的时候 swap 也救不了你。

现在平时内存就不太够用(4G),没有 swap 的话,并发稍微多一点就 oom 了,有 4G swap 还能缓冲一点。 

Bojie Li

unread,
Oct 18, 2016, 3:27:36 PM10/18/16
to USTC_LUG
昨晚 23 点左右修好了,导致这次故障的是某用户安装的某 wordpress 访问统计插件。该插件每访问一次页面都会进行一个很低效的数据库查询,复杂度相当于扫描所有历史访问记录,返回的数据集也很大,CPU 几乎都被这个插件占了。我把该插件禁用后,服务器负载恢复正常。

网站从17日晚上开始经常 502 的原因比较复杂。昨晚 php-fpm 大量线程被该数据库查询卡住后,由于 php-fpm 最大线程数设置过高(200),大量的并发线程占用了大量内存,一方面磁盘缓存被换出,另一方面部分内存被换出到 swap,引发 OOM kill。负责记录请求和执行特权操作的 blog-daemon 被 OOM kill 了。php-fpm 的每个请求处理结束时,按照我当年魔改的逻辑,都会往 blog-daemon 发请求去记录日志。由于连接失败,php 请求处理结束的清理阶段就会终止执行。

php 在请求处理结束的清理阶段终止执行,第一个后果:如果此时页面内容已经通过 fastcgi 发给 nginx,则用户看到的是正常的页面;如果此时页面内容尚在 php-fpm 的缓冲区内,则 php-fpm 通过 fastcgi 发送的错误信号就会给用户显示 502。因此会发现有时能正常显示,有时很快返回 502。当然系统负载特别高,接近 OOM 的时候,几乎所有请求都无法在超时前处理完(超时后返回 499)。第二个后果:PHP 脚本结束时的一些垃圾回收机制没有被执行,导致数据库连接每个页面建立起来之后就没有关闭,PHP 运行过程中分配的一些内存也没有释放,导致内存泄漏。

Alkaid 发现昨天中午开始服务器网络流量异常升高,事实上是因为 Ganglia 算网络流量时把 loopback 也算进去了,也就是把访问数据库的流量也算进去了。从 HTTP 请求数量和分布来看,并没有遭到拒绝服务攻击。扫描了几个访问量较大的 blog,也没有发现类似挂马的 php 程序。

https://status.ustclug.org/?r=custom&cs=10%2F18%2F2016+00%3A00+&ce=10%2F19%2F2016+00%3A00+&m=load_one&s=by+name&c=blog&h=&host_regex=&max_graphs=0&tab=m&vn=&hide-hf=false&sh=1&z=small&hc=4

由于 WordPress 比较臃肿,访问一个页面需要的 CPU 计算量很大。例如,访问 servers.ustclug.org 首页的延迟在 640ms 左右(不计网络传输时间),事实上这段时间基本都是耗在 CPU 上了。我们的服务器只有 4 个核,每秒只能处理大约 6 次访问首页的请求。我用 ab 压力测试,吞吐量确实是 6 次每秒,此时服务器的 4 个核都满了。blog 每天的 HTTP 请求数大约是 100k 到 200k,平均每秒 2 次请求,我去看的时候 tail -f access.log 基本上是不断刷出来的。从 Ganglia 监控的 load average 来看,也是经常达到或超过红线(4)。可以预料,在流量高峰时段或者某个博客突然火了的时候,服务器每秒 6 次的处理能力是远远不能满足需求的。

因此我希望把 blog 迁移到 LUG 图书馆机房的集群上,可以给更多的内存(如 8G)和更多的 CPU(例如动态分配 CPU,最多可以使用物理节点的所有核)。现在 LUG 很多内部服务都在图书馆机房集群上,但负载不是很高。大家有什么看法?

昨晚修好之后就去忙其他任务了,忙完了之后才发的这个邮件。

John Han

unread,
Oct 18, 2016, 8:15:35 PM10/18/16
to USTC_LUG
WordPress 设计上就十分占资源,此外各种实现糟糕的插件会使情况变得雪上加霜……建议以后关键性的blog不要用 WordPress。功能需求不多(比如servers.ustclug.org)可以直接用ghost代替。
另外并不是所有人都需要那么多功能,可以考虑用户分层然后提供资源


在 2016年10月19日星期三 UTC+8上午3:27:36,Bojie Li写道:

SJ Zhu

unread,
Oct 18, 2016, 8:38:06 PM10/18/16
to USTCLUG-Group

如果blog能一直维护下去,且确实很多人在用的话,向网络中心再申请资源也未尝不可。


Zhang Cheng

unread,
Oct 18, 2016, 8:44:39 PM10/18/16
to USTC LUG

2016-10-19 3:27 GMT+08:00 Bojie Li <boj...@gmail.com>:
由于 WordPress 比较臃肿,访问一个页面需要的 CPU 计算量很大。例如,访问 servers.ustclug.org 首页的延迟在 640ms 左右(不计网络传输时间),事实上这段时间基本都是耗在 CPU 上了。我们的服务器只有 4 个核,每秒只能处理大约 6 次访问首页的请求。我用 ab 压力测试,吞吐量确实是 6 次每秒,此时服务器的 4 个核都满了。blog 每天的 HTTP 请求数大约是 100k 到 200k,平均每秒 2 次请求,我去看的时候 tail -f access.log 基本上是不断刷出来的。从 Ganglia 监控的 load average 来看,也是经常达到或超过红线(4)。可以预料,在流量高峰时段或者某个博客突然火了的时候,服务器每秒 6 次的处理能力是远远不能满足需求的。

​是否可以给Wordpress加一些缓存规则?比如匿名访问首页、文章页,默认缓存5分钟,5分钟内多次请求,都直接从nginx返回,不给wordpress。​



--
Cheng,
Best Regards

Yifan Gao

unread,
Oct 18, 2016, 10:30:28 PM10/18/16
to ustc...@googlegroups.com
On 19 Oct 2016, at 3:27 AM, Bojie Li <boj...@gmail.com> wrote:

昨晚 23 点左右修好了,导致这次故障的是某用户安装的某 wordpress 访问统计插件。该插件每访问一次页面都会进行一个很低效的数据库查询,复杂度相当于扫描所有历史访问记录,返回的数据集也很大,CPU 几乎都被这个插件占了。我把该插件禁用后,服务器负载恢复正常。

网站从17日晚上开始经常 502 的原因比较复杂。昨晚 php-fpm 大量线程被该数据库查询卡住后,由于 php-fpm 最大线程数设置过高(200),大量的并发线程占用了大量内存,一方面磁盘缓存被换出,另一方面部分内存被换出到 swap,引发 OOM kill。负责记录请求和执行特权操作的 blog-daemon 被 OOM kill 了。php-fpm 的每个请求处理结束时,按照我当年魔改的逻辑,都会往 blog-daemon 发请求去记录日志。由于连接失败,php 请求处理结束的清理阶段就会终止执行。

php 在请求处理结束的清理阶段终止执行,第一个后果:如果此时页面内容已经通过 fastcgi 发给 nginx,则用户看到的是正常的页面;如果此时页面内容尚在 php-fpm 的缓冲区内,则 php-fpm 通过 fastcgi 发送的错误信号就会给用户显示 502。因此会发现有时能正常显示,有时很快返回 502。当然系统负载特别高,接近 OOM 的时候,几乎所有请求都无法在超时前处理完(超时后返回 499)。第二个后果:PHP 脚本结束时的一些垃圾回收机制没有被执行,导致数据库连接每个页面建立起来之后就没有关闭,PHP 运行过程中分配的一些内存也没有释放,导致内存泄漏。

Alkaid 发现昨天中午开始服务器网络流量异常升高,事实上是因为 Ganglia 算网络流量时把 loopback 也算进去了,也就是把访问数据库的流量也算进去了。从 HTTP 请求数量和分布来看,并没有遭到拒绝服务攻击。扫描了几个访问量较大的 blog,也没有发现类似挂马的 php 程序。

https://status.ustclug.org/?r=custom&cs=10%2F18%2F2016+00%3A00+&ce=10%2F19%2F2016+00%3A00+&m=load_one&s=by+name&c=blog&h=&host_regex=&max_graphs=0&tab=m&vn=&hide-hf=false&sh=1&z=small&hc=4

由于 WordPress 比较臃肿,访问一个页面需要的 CPU 计算量很大。例如,访问 servers.ustclug.org 首页的延迟在 640ms 左右(不计网络传输时间),事实上这段时间基本都是耗在 CPU 上了。我们的服务器只有 4 个核,每秒只能处理大约 6 次访问首页的请求。我用 ab 压力测试,吞吐量确实是 6 次每秒,此时服务器的 4 个核都满了。blog 每天的 HTTP 请求数大约是 100k 到 200k,平均每秒 2 次请求,我去看的时候 tail -f access.log 基本上是不断刷出来的。从 Ganglia 监控的 load average 来看,也是经常达到或超过红线(4)。可以预料,在流量高峰时段或者某个博客突然火了的时候,服务器每秒 6 次的处理能力是远远不能满足需求的。

因此我希望把 blog 迁移到 LUG 图书馆机房的集群上,可以给更多的内存(如 8G)和更多的 CPU(例如动态分配 CPU,最多可以使用物理节点的所有核)。现在 LUG 很多内部服务都在图书馆机房集群上,但负载不是很高。大家有什么看法?
这个想法挺好的。是打算跑在Docker里吗?或用传统的虚拟机?

昨晚修好之后就去忙其他任务了,忙完了之后才发的这个邮件。

2016-10-18 22:14 GMT+08:00 Bojie Li <boj...@gmail.com>:
2016-10-18 22:02 GMT+08:00 Wang Shanker <shanker...@gmail.com>:
我看可以把swap关掉,oom 就直接 kill 掉,毕竟真 oom 的时候 swap 也救不了你。

现在平时内存就不太够用(4G),没有 swap 的话,并发稍微多一点就 oom 了,有 4G swap 还能缓冲一点。 


Hugo

unread,
Oct 19, 2016, 12:22:43 AM10/19/16
to ustc...@googlegroups.com

想问个问题,可能有点偏了,有没有考虑过用 CDN 呢?考虑过的话。。。国内有没有好的 CDN 推荐呢:)

Bojie Li

unread,
Oct 19, 2016, 1:00:33 AM10/19/16
to USTC_LUG
2016-10-19 7:16 GMT+08:00 John Han <hanyu...@gmail.com>:
WordPress 设计上就十分占资源,此外各种实现糟糕的插件会使情况变得雪上加霜……建议以后关键性的blog不要用 WordPress。功能需求不多(比如servers.ustclug.org)可以直接用ghost代替。
另外并不是所有人都需要那么多功能,可以考虑用户分层然后提供资源

WordPress 比较占资源,我觉得根本原因是 PHP one-process-per-HTTP-request 的编程模型。一个上点规模的应用,总要花费一些时间来初始化,PHP 的编程模型要求每个 HTTP 请求都重新做一遍初始化,这个开销自然就很高。当然有一些 PHP 的框架和 WordPress 插件旨在缓存一些东西来提高性能,不过原生 WordPress 为了扩展性并没有这样做。

WordPress 性能其实也没有那么不堪,比如 Microsoft Research 的网站就是 WordPress 做的,几百个研究组、几千个研究员的主页都在上面,访问量应该也不小。
https://www.microsoft.com/en-us/research/group/systems-research-group-asia/

Bojie Li

unread,
Oct 19, 2016, 1:02:17 AM10/19/16
to USTC_LUG
2016-10-19 8:38 GMT+08:00 SJ Zhu <zsj9...@gmail.com>:

如果blog能一直维护下去,且确实很多人在用的话,向网络中心再申请资源也未尝不可。

 嗯,找 james 给虚拟机扩容是最简单的。

SJ Zhu

unread,
Oct 19, 2016, 1:08:00 AM10/19/16
to USTCLUG-Group
看了下 blog 的监控图[1],blog 最近做了什么改动吗?不是 bug 导致内存泄露了?

[1] https://status.ustclug.org/graph.php?r=week&z=xlarge&h=blog&m=load_one&s=by+name&mc=2&g=mem_report&c=blog
> --
> 您收到此邮件是因为您订阅了Google网上论坛上的“USTC_LUG”群组。
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到ustc_lug+u...@googlegroups.com
> 访问此群组:https://groups.google.com/group/ustc_lug
> 要查看更多选项,请访问https://groups.google.com/d/optout



--
Regards,
Shengjing Zhu

Bojie Li

unread,
Oct 19, 2016, 1:20:19 AM10/19/16
to USTC_LUG

其实也可以用 Wordpress 缓存插件,比如 WP Total Cache。

匿名访问强制缓存对用户体验影响比较大,比如修改了一篇文章,我经常是在浏览器匿名模式里看看长得什么样,如果此时发现没有修改,一定会很疑惑。类似的,写完之后发给其他人看也是常用的需求,别人找不到也会抓狂的。

Bojie Li

unread,
Oct 19, 2016, 1:39:23 AM10/19/16
to USTC_LUG
2016-10-19 10:30 GMT+08:00 Yifan Gao <subs...@yfgao.com>:
因此我希望把 blog 迁移到 LUG 图书馆机房的集群上,可以给更多的内存(如 8G)和更多的 CPU(例如动态分配 CPU,最多可以使用物理节点的所有核)。现在 LUG 很多内部服务都在图书馆机房集群上,但负载不是很高。大家有什么看法?
这个想法挺好的。是打算跑在Docker里吗?或用传统的虚拟机?

我觉得用 docker 比较好。很久之前你让我打包到 docker 里,就差 blog-daemon 和 nginx 这个 docker 还没有搞。

现在 blog 的几个组件 nginx、php-sandbox (php-fpm)、blog-daemon、blog-ftp、mariadb。我现在的做法是把 nginx 和 blog-daemon 打包到一个 docker 里,php-sandbox、mariadb、blog-daemon 分别一个 docker。docker 之间用 socket 通信。

通信关系:
nginx -> php-sandbox: Unix socket (可用 TCP socket 取代)
php-sandbox -> blog-daemon: TCP socket
blog-daemon -> nginx: systemctl reload nginx(可以改成给 nginx master 进程发 SIGUSR1 信号)
php-sandbox -> mariadb: TCP socket
blog-ftp -> nginx: TCP socket(验证用户账号密码是否正确)

共享文件关系:
blog 用户数据:nginx (ro), php-sandbox (rw), blog-ftp (rw)
nginx 配置文件和 SSL key:nginx (ro), blog-daemon (rw)

Bojie Li

unread,
Oct 19, 2016, 1:51:54 AM10/19/16
to USTC_LUG
2016-10-19 12:22 GMT+08:00 Hugo <hu...@herrqin.com>:

想问个问题,可能有点偏了,有没有考虑过用 CDN 呢?考虑过的话。。。国内有没有好的 CDN 推荐呢:)

学校的网络接入情况挺好的,我们的服务器移动、电信、教育网都有接入,而且除 mirrors 外带宽都不是瓶颈,应该没有必要用 CDN 吧。

至于博客所绑定的非学校域名解析到国外,是由于备案问题。

Bojie Li

unread,
Oct 19, 2016, 1:56:34 AM10/19/16
to USTC_LUG
2016-10-19 13:07 GMT+08:00 SJ Zhu <zsj9...@gmail.com>:
看了下 blog 的监控图[1],blog 最近做了什么改动吗?不是 bug 导致内存泄露了?

[1] https://status.ustclug.org/graph.php?r=week&z=xlarge&h=blog&m=load_one&s=by+name&mc=2&g=mem_report&c=blog


最近没有做改动,内存突然升高有两个原因。首先是某博客插件的 CPU 占用率过高,导致服务器过载。

其次是 OOM 之后 blog-daemon 挂了,php-sandbox 无法连接 blog-daemon,导致部分资源无法释放,从而内存泄露。

我在新的 php-sandbox 里面已经把请求处理结束时连接 blog-daemon 记录日志给去掉了。

Bojie Li

unread,
Nov 13, 2016, 5:12:00 AM11/13/16
to USTC_LUG
Follow up: 无法安装插件、主题的问题已经解决。

2016年9月,我们遇到了两次利用插件漏洞的恶意代码上传事件,一次是被挂黑页、被网监查了水表,一次是滥发垃圾邮件用完了 LUG 的邮件配额。第二次恶意代码上传事件后,我们修改 PHP 解释器代码,禁止了 .php 扩展名文件的写入和非 .php 扩展名文件的执行。这个限制的后果是无法安装或升级插件、主题。非常抱歉此问题给您带来的麻烦。

现在修改了 PHP 解释器中的文件访问限制,使得通过 WordPress 后台正常的上传、更新、编辑插件和主题不会受到影响。禁止插件和主题自己修改代码,也就是利用插件漏洞的恶意代码上传将不能得逞(当然部分生成 PHP 模板的插件可能无法使用)。

此外,解决了 blog 注册激活后需要升级数据库的问题。

Abel Van

unread,
Nov 14, 2016, 12:40:11 AM11/14/16
to USTC_LUG
支持个Ghost, wp贴代码确实不够方便. 关键是markdown太强大了, 结合vim插件, 完全秒杀wp的写作方式. wp用markdown插件的话, 我以前的post都坏了.

在 2016年10月19日星期三 UTC+8上午8:15:35,John Han写道:

van14...@gmail.com

unread,
Nov 14, 2016, 7:00:07 AM11/14/16
to ustc_lug

怕在servers.ustclug.org回的看不到, 转载到此.


科大博客真心不错!

1. 我有三个博客在科大wp上, 看到说资源有点紧张之类的, 我建议删除另外两个不常用博客. (其它两个主要是用了做测试的, 目前好像用户没办法删除)
2. 我真的完全忘了科大博客有个注册页面, 现在我登陆忘了用户名密码, 不知道有没有办法找回? (我同学新开通的就是wp登陆用户名和密码, 但是我自己可能是在wp中修改了密码? 能登陆wp不能在科大博客登陆http://blog.ustc.edu.cn/)
3. 好像FTP不能用了? (我修改了登陆ip后也提示用户名/密码不正确, 这个可能是上面提及的科大博客的登陆用户名?)
4. 我使用的是P2主题, 在本地测试一起正常, 但是在科大博客上老是判断我离线了, 例如点击https://van.blog.ustc.edu.cn/ 这个的Whatcha up to?下面的框框, 就会弹出警告. 看了相关代码.

祝科大博客也做越好.

哦, 对了, 以前好像说有个科大博客聚合墙之类的? 就是可以看到大家写的比较优质的博客内容, 不知咋样了?


Bojie Li

unread,
Nov 14, 2016, 7:11:39 AM11/14/16
to USTC_LUG
2016-11-14 20:00 GMT+08:00 van14...@gmail.com <van14...@gmail.com>:

1. 我有三个博客在科大wp上, 看到说资源有点紧张之类的, 我建议删除另外两个不常用博客. (其它两个主要是用了做测试的, 目前好像用户没办法删除)

不用的博客几乎不占资源,不用删除。 

2. 我真的完全忘了科大博客有个注册页面, 现在我登陆忘了用户名密码, 不知道有没有办法找回? (我同学新开通的就是wp登陆用户名和密码, 但是我自己可能是在wp中修改了密码? 能登陆wp不能在科大博客登陆http://blog.ustc.edu.cn/)

可以试试 WP 后台的找回密码功能,如果收不到找回密码邮件。给 lug AT ustc.edu.cn,我们可以人工处理。 

3. 好像FTP不能用了? (我修改了登陆ip后也提示用户名/密码不正确, 这个可能是上面提及的科大博客的登陆用户名?)

确实 FTP 不能用了,因为 FTP 配置防火墙规则比较麻烦,为了安全就把 FTP 的端口给封了。

4. 我使用的是P2主题, 在本地测试一起正常, 但是在科大博客上老是判断我离线了, 例如点击https://van.blog.ustc.edu.cn/ 这个的Whatcha up to?下面的框框, 就会弹出警告. 看了相关代码.

这个 Whatcha up to? 在哪里?我在首页上没有找到。

P2 主题有显示在线和离线的功能?是指是否登录吗?需要注意 http 和 https 的 cookie 不通用,如果用 https 登录了博客后台,再用 http 访问博客首页,显示的就是未登录状态。

祝科大博客也做越好.

哦, 对了, 以前好像说有个科大博客聚合墙之类的? 就是可以看到大家写的比较优质的博客内容, 不知咋样了?

这个坑目前还没人填。

Yifan Gao

unread,
Nov 14, 2016, 7:20:28 AM11/14/16
to ustc...@googlegroups.com
On 14 Nov 2016, at 8:11 PM, Bojie Li <boj...@gmail.com> wrote:

2016-11-14 20:00 GMT+08:00 van14...@gmail.com <van14...@gmail.com>:

1. 我有三个博客在科大wp上, 看到说资源有点紧张之类的, 我建议删除另外两个不常用博客. (其它两个主要是用了做测试的, 目前好像用户没办法删除)

不用的博客几乎不占资源,不用删除。 

指的是磁盘资源。 有一次发现blog服务器磁盘空间耗尽,查到有几个博客安装了备份插件,一天产生数GB的备份文件,很快服务器磁盘空间就耗尽了。

blog方便针对用户限制磁盘配额吗?@boj

2. 我真的完全忘了科大博客有个注册页面, 现在我登陆忘了用户名密码, 不知道有没有办法找回? (我同学新开通的就是wp登陆用户名和密码, 但是我自己可能是在wp中修改了密码? 能登陆wp不能在科大博客登陆http://blog.ustc.edu.cn/)

可以试试 WP 后台的找回密码功能,如果收不到找回密码邮件。给 lug AT ustc.edu.cn,我们可以人工处理。 

3. 好像FTP不能用了? (我修改了登陆ip后也提示用户名/密码不正确, 这个可能是上面提及的科大博客的登陆用户名?)

确实 FTP 不能用了,因为 FTP 配置防火墙规则比较麻烦,为了安全就把 FTP 的端口给封了。

4. 我使用的是P2主题, 在本地测试一起正常, 但是在科大博客上老是判断我离线了, 例如点击https://van.blog.ustc.edu.cn/ 这个的Whatcha up to?下面的框框, 就会弹出警告. 看了相关代码.

这个 Whatcha up to? 在哪里?我在首页上没有找到。

P2 主题有显示在线和离线的功能?是指是否登录吗?需要注意 http 和 https 的 cookie 不通用,如果用 https 登录了博客后台,再用 http 访问博客首页,显示的就是未登录状态。

祝科大博客也做越好.

哦, 对了, 以前好像说有个科大博客聚合墙之类的? 就是可以看到大家写的比较优质的博客内容, 不知咋样了?

这个坑目前还没人填。

Bojie Li

unread,
Nov 14, 2016, 7:38:55 AM11/14/16
to USTC_LUG
2016-11-14 20:20 GMT+08:00 Yifan Gao <subs...@yfgao.com>:
On 14 Nov 2016, at 8:11 PM, Bojie Li <boj...@gmail.com> wrote:

2016-11-14 20:00 GMT+08:00 van14...@gmail.com <van14...@gmail.com>:

1. 我有三个博客在科大wp上, 看到说资源有点紧张之类的, 我建议删除另外两个不常用博客. (其它两个主要是用了做测试的, 目前好像用户没办法删除)

不用的博客几乎不占资源,不用删除。 

指的是磁盘资源。 有一次发现blog服务器磁盘空间耗尽,查到有几个博客安装了备份插件,一天产生数GB的备份文件,很快服务器磁盘空间就耗尽了。

blog方便针对用户限制磁盘配额吗?@boj

一天产生数 GB 的备份,是抽风了吧……

现在没有针对每个用户的磁盘配额。2012 年的时候想搞,但 Linux 只支持 per-user 的 quota,ext4 不支持 per-directory 的 quota。如果用 Linux 的 quota,就要用 Apache mpm_fork 这种 one process per connection 的模型,每个 blog 用户一个 UID,创建进程和 PHP 引擎初始化的代价较高。这也是 cpanel 之类虚拟主机的做法。如果用支持 per-directory quota 的文件系统,就要用 ZFS 或者 btrfs,怕不稳定。现在的方案是在 php-fpm 上魔改,在 php 解释器层面上保证了每个用户只能访问自己家目录和公共目录下的文件(php 引擎并没有根据 domain name 决定 chroot dir 的功能),但是做实时 quota 就比较困难了。

现在想来比较可行的方案是每天统计一次各个博客所占用的空间,如果超过限制,就发邮件提醒,并在 PHP 引擎的层面上禁止修改或新建文件,只允许读取和删除。

四年过去了,不知道这方面技术有没有新的进展。

van14...@gmail.com

unread,
Nov 14, 2016, 8:43:32 AM11/14/16
to ustc_lug
4. 测了下, 这个what's up 需要注册后才有. 你说的那个cookie, 我都是用https登陆与回到首页的, 问题还是一样. 我对比了本地和科大博客的?feed=p2.ajax&amp;p2ajax=true&action=logged_in_out&_loggedin=614c5ab8cb 这个请求的cookie没有找到问题. 科大博客的请求是post, 返回的是502, 我修改了源码为get, 请求成功了, 但是还是会弹出那个没有登陆的提示. (离线有时也称为没有登陆)

发件人: Bojie Li
发送时间: 2016-11-14 20:38
收件人: USTC_LUG
主题: Re: [USTC-LUG] blog.ustc.edu.cn不能访问
--
您收到此邮件是因为您订阅了Google网上论坛上“USTC_LUG”群组中的主题。
要退订此主题,请访问https://groups.google.com/d/topic/ustc_lug/UVw9Ic-hIYg/unsubscribe
要退订此群组及其所有主题,请发送电子邮件到ustc_lug+u...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages