Building the Coming Soon

关于

HFLS aka the Akademia 12′, then NUST 16′, HKU 18′, now a Blue.

VestaCP

VestaCP面板载入响应缓慢问题解决

02/03/2018

今天小伙伴向Kaijia反映万年没有动的VestaCP面板突然间响应缓慢,Kaijia登录检查发现每次点击VestaCP面板中任意功能,均需要等待3~5秒时间才能响应,而同时间服务器并无高负载、高IO情况,VestaCP管理下的网页亦可飞速打开。

为了找到延时原因,Kaijia在/usr/local/vesta/php/etc/php-fpm.conf开启了VestaCP的慢执行日志(slow log),获得以下记录:

[03-Feb-2018 23:00:54]  [pool www] pid 2721
script_filename = /usr/local/vesta/web//list/web/index.php
[0x00007f8ead529798] exec() /usr/local/vesta/web/list/web/index.php:9

[03-Feb-2018 23:01:03]  [pool www] pid 2721
script_filename = /usr/local/vesta/web//list/web/index.php
[0x00007f8ead529708] shell_exec() /usr/local/vesta/web/list/web/index.php:12

再返回查看代码,显示所有的慢执行均发生在exec()shell_exec()函数调用VestaCP CLI管理脚本时。

阅读更多

VestaCP面板迁移用户时更换目标MySQL数据库方法

10/19/2017

VestaCP的傻瓜式迁移方法对于简单示例来说非常方便,在旧新示例上分别执行v-backup-userv-restore-user命令即可完成,这一过程假定了两台服务器上所有的配置均为默认安装,因此在对VestaCP配置作出过调整的情况下会迁移则会出现错误。

Kaijia昨天一直运行VestaCP的服务器到期,考虑网络因素决定将VestaCP迁移到阿里云中。考虑到扩展需求(吃内存的MySQL 5.7),Kaijia决定利用两台1G内存的云服务器,第一台运行除了MySQL以外的其他服务,第二台(设定域名为mysql.kaijia.me)单独运行MySQL,并将其添加为VestaCP的远程MySQL服务器。这样的配置与虚拟主机商采用的策略相同,但因此调整,在将VestaCP用户迁移到新服务器时便会出现问题:

[email protected]:~# v-restore-user kaijia kaijia.2017-10-18.tar

— DB —
2017-10-18 21:31:14 kaijia_example
Error: mysql config parsing failed

阅读更多

VestaCP面板PHP-CGI进程过多耗尽内存问题解决

11/18/2014

就像Kaijia在上一篇文章中提到的一样,VestaCP面板对较新发布的系统支持并不理想,到现在对Ubuntu 14.04的支持只能说是勉强能正常运行,还没有得到很好的优化,而对Redhat/CentOS 7的支持则完全还没开始。在Ubuntu 14.04系统中,VestaCP面板的部分设置仍有调整优化的空间,Kaijia这次就遇到的PHP-CGI进程耗尽内存的情况就是由于配置未优化造成的。

Kaijia的VestaCP模块(Package)设置使用的是phpfcgid模板,这样可以通过PHP-CGI模块有效得实现站点间文件访问的阻隔。但这样做的代价是每个Unix用户都会拥有自己的FCGI实例,因此需要支出额外的内存。当配置失当时更会造成虽然服务器访问量低但内存接近耗尽的情况,使用htop等工具查看有如下图:

HTOP显示PHP-CGI大量进程占用内存情况

HTOP显示PHP-CGI大量进程占用内存情况

虽然Kaijia放在VestaCP服务器上的网站P/V很低,但大量的PHP-CGI进程仍然在服务器重启后数小时内基本耗尽了内存,很早之前闲置的PHP-CGI进程没有被杀死,一个进程下面运行了近20个子进程消耗了至少100M的内存。造成这一现象的原因既是VestaCP在Ubuntu的phpfcgid模板中使用了未优化的配置。

阅读更多

Ubuntu 14.04系统VestaCP面板MySQL无法正常运行问题解决

11/14/2014

VestaCP是一款新兴的虚拟主机面板,它以LAMP为核心(也支持Python程序),使用Nginx做前端,同时还支持FTP、邮件和DNS服务器功能,整体功能非常简洁强大,更重要的是,它的界面设计符合潮流。

Kaijia最近也开始学习使用VestaCP并将一台运行Virtualmin的服务器搬到了VestaCP平台下,在这一过程中Kaijia遇到了很多问题。由于VestaCP一开始设计只考虑了RedHat/CentOS,Debian/Ubuntu的支持相对比较欠缺,尤其是Ubuntu 14.04相较其他几个版本变化很大(PHP 5.5和Apache 2.4了,而VestaCP支持的其他发行版基本都在PHP 5.3和Apache 2.2,另外还有upstart/systemd等问题),相应单一发行版的Bug也特别多。在今后的文章中Kaijia将会不定期分享在Ubuntu 14.04系统下使用VestaCP面板遇到的问题和解决经验。

比如这次遇到的问题经过分析也应该是Ubuntu 14.04系统特有的。Kaijia一开始完成VestaCP安装后系统可以正常运行并没有发现任何错误,但是重启服务器之后却出现了MySQL无法使用的问题,无法通过VestaCP面板创建数据库,同时站点也无法连接到数据库。查看MySQL的错误日志可以看到提示InnoDB文件已被锁定:

InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.

阅读更多

... 载入更多文章 ...

- 已经载入全部文章 -