Xen Linux VPS硬盘挂载教程(重装系统不丢数据)

由于现在的VPS磁盘容量越来越大,很多VPSer们也未必能用得到默认的容量,XenSystem初始化的根分区(第一磁盘“Xvda”)默认为10G,另外一个磁盘(第二磁盘“Xvdb”)为VPS总容量的剩余容量。如果单独挂载给/home,使用LNMP一键包等程序,在重装时在/home内的数据就不会丢失了。非常适合热爱折腾的客户。 注意:MYSQL数据并没保存在/home,重装前请注意备份。

一、查看当前硬盘情况

[cce]fdisk -l[/cce]
如图,新安装的VPS,Xvdb(第二块虚拟硬盘)尚未被激活。
4224262811

二、新建分区

[cce]fdisk /dev/xvdb[/cce]

SSH执行以上命令,会提示下方填写区域(见黄色字)

11

如下图。
2

三、再次执行fdisk命令查看当前分区状态

[cce]fdisk -l[/cce]
如下图,第二硬盘被激活,并创建了一个分区。
3
若没有问题则写入系统内核。
[cce]partprobe #若没有问题则执行此命令写入内核[/cce]
如果提示命理没找到就运行这个:yum -y install parted

四、将分区格式化为ext3

[cce]mkfs.ext3 /dev/xvdb1[/cce]
SSH执行以上命令后,成功提示如下图:
 4

五、挂载到/home

[cce]mount /dev/xvdb1 /home[/cce]
SSH执行以上命令,将第二硬盘挂载到/home分区。
[cce]df -l[/cce]
SSH执行以上命令,查看挂载状态,成功如下图:
5

六、写入挂载文件

[cce]echo "/dev/xvdb1 /home ext3 defaults 1 3" >> /etc/fstab[/cce]
SSH执行以上命令,写入/etc/fstab,开机时自动挂载。

七、重装系统后恢复方法

在XenSystem中,选择“只格式化系统盘:(推荐)”。安装完毕后,尝试第五步开始。 6

北京20岁站长月入20万,自称仍无法与饭总相比

10年6月 孤身一人 揣着父母给的两千块钱 搭上了北去的拉煤车….

此处省略一万字….

11年1月 辞去不能温饱的工作,在四平米的小盒子里,面对着17寸亮亮的窗口…

11年6月 经过几个月的孤寂的生活,口袋里已经掏不出几块早饭钱,无奈重寻糊口工作…

12年2月 果断裸辞  一眨眼到了年底…

12年12月 等待故事发展…

 

纯属瞎扯…纯属娱乐..等待百度收录…

Nginx 504 Gateway Time-out和502 Bad Gateway

在CentOS下配置lnmp组合基本上用的都是同样的配置文件,一直都没出现过问题,可最近在一个vps上安装同样的环境之后,网站在线10多人就出 现了打开速度非常缓慢的情况,有好几次都是直接达到了nginx中设置的脚本最大超时时间300秒,结果导致nginx往客户端浏览器发送了一个504 Gateway Time-out的错误代码,分析了之后改动了几处配置文件,终于避免了该情况的出现。

从错误代码基本可以确定跟nginx本身无关,主要是提交给php-fpm的请求未能正确反馈而导致,一般情况下,提交动态请求的时候,nginx会直接把 请求转交给php-fpm,而php-fpm再分配php-cgi进程来处理相关的请求,之后再依次返回,最后由nginx把结果反馈给客户端浏览器,但 我这个vps目前跑的是个纯php应用内容,实际上用户所有的请求都是php请求,有的耗费时间比较久,php-cgi进程就一直都被用满,而php- fpm本身的配置文件只打开了10组php-cgi进程,这样的话在线用户稍微多的话就会导致请求无法被正常处理而出错。

大概分析出了原 因,下面做就比较容易了,首先是更改php-fpm的几处配置:

把max_children由之前的10改为现在的30,这样就可以保证 有充足的php-cgi进程可以被使用;
把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率。

接着再更改nginx的几个配置项,减少FastCGI的请求次 数,尽量维持buffers不变:

fastcgi_buffers由 4 64k 改为 2 256k;
fastcgi_buffer_size 由 64k 改为 128K;
fastcgi_busy_buffers_size 由 128K 改为 256K;
fastcgi_temp_file_write_size 由 128K 改为 256K。

好了,重新加载php-fpm和nginx的配置,再次测试,至今两周时间内没有再出现504 Gateway Time-out的情况,算是达到效果了。
另外,php-fpm的默认静态处理方式会使得php-cgi的进程长期占用内存而无法释放,这也是导致nginx出错的原因之一,因此可以将php-fpm的处理方式改成apache模式。
apache-like
从更改完毕到现在的测试表明上述方式的效果还是很明显的,并没有发现一次Nginx502 bad gateway或504 Gateway Time-out错误。当然,如果你的VPS或者服务器的性能足够好可以根据具体情况不必做无谓的改动。

关于lnmp一键安装包的nginx 502 Bad Gateway错误
第一种原因:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。

解决方法:
可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的,在网上搜索一下,或者把错误信息发上来。我们给你分析一下错误原因。

第二种原因:
在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway

第三种原因:
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
也有可能是max_requests值不够用。

第四种原因:
php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300

第五种原因:
磁盘空间不足,如mysql日志占用大量空间http://www.vpser.net/manage/delete-mysql-mysql-bin-0000-logs.html

第六种原因:
查看php-cgi进程是否在运行
1、调整php-fpm.conf的相关设置(lnmpa没有此文件)
80
30s
2、调整nginx.conf的相关设置
fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_buffer_size 256k;
fastcgi_buffers 16 256k;
fastcgi_busy_buffers_size 512k;
fastcgi_temp_file_write_size 512k;
3、编辑:/usr/local/apache/conf/extra/下的httpd-vhosts.conf文件
查找:
php_admin_value open_basedir
修改为:
php_admin_value open_basedir “/home/wwwroot:/tmp/:/var/tmp/:/proc/:/etc/”
(#或者直接将它注释掉)
然后,重启LNMPA。
/root/lnmpa restart
打开/usr/local/php/etc/,编辑php.ini文件:
max_execution_time 设置为0

LNMP一键安装包的Nginx 502 Bad Gateway错误可能原因及解决方法[转]

第一种原因:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。可以看一下是否存在/usr/local/php/sbin/php-fpm ,如果没有肯定没安装成功
解决方法:
可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的,在网上搜索一下,或者把错误信息发上来。如果实在不会提供按http://lnmp.org/install.html这个安装时的lnmp.log日志文件(可以用winscp登陆下载lnmp.log,压缩并上传到本论坛),没有错误信息我们没法说什么原因。

第二种原因:
在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway

第三种原因:
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf (lnmpa没有此文件)将其中的max_children值适当增加。
也有可能是max_requests值不够用。

第四种原因:
php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300

第五种原因:
磁盘空间不足,如mysql日志占用大量空间清理一下磁盘上的文件,有部分剩余空间,重启即可恢复。

第六种原因:
查看php-cgi进程是否在运行

第七种原因:
将nginx.conf里的
fastcgi_connect_timeout
fastcgi_send_timeout
fastcgi_read_timeout都调大一点。

第八种可能原因:http://bbs.vpser.net/thread-1654-1-1.html

九、也可以尝试将unix套接字改成tcp/ip的,修改/usr/local/php/etc/php-fpm.cnf 里设置/tmp/nginx.socket改成127.0.0.1:9000,同时/usr/local/nginx/conf/nginx.conf 及其/usr/local/nginx/conf/vhost/ 下面的虚拟主机配置里的fastcgi_pass unix:/tmp/php-cgi.sock; 替换为fastcgi_pass 127.0.0.1:9000; 之后重启试试。

十、如果虚拟主机的日志文件过大也可能会造成502问题。
建议定期清空一下虚拟主机的日志文件。

十一、有些程序或者程序的主题有死循环或其他非常占用资源的代码也可能会引起502,可以尝试暂时注释掉可能的主机的配置文件,重启看看是否还会502。

十二、如果以上方法都试过,但还有时会出现502错,可以尝试添加502自动重启脚本:http://chenyouyi.com/285

lnmpa 502 Bad Gateway 自动重启脚本[转]

安装lnmpa后,经常会有502错误。按vpser上的检查问题也无法解决,只好用以下脚本解决问题。顺便说下,我重新安装了VPS,首先更新了我的系统,然后再装lnmpa便极少出现502错误 了,看来再安装的时候还是尽量避免出现问题,否则很容易出现502。 下面是脚本内容,保存为502fix.sh,然后
chmod +x /root/502fix.sh

脚本内容:
[cce]
#!/usr/bin/php
<?
$url = ‘http://11.111.112.88’;
$cmd = ‘/etc/init.d/httpd restart’;

for($i = 0; $i < 5; $i ++){
$exec = “curl –connect-timeout 3 -I $url 2>/dev/null”;
$res = shell_exec($exec);

if(stripos($res,’502 Bad Gateway’) !== false){
shell_exec($cmd);
exit();
}
}
?>
[/cce]
记得把IP或网址改为你自己VPS的。
原理就是用curl获取HTTP头,一旦502 就重启apache。

然后添加下定时任务
[cce]
crontab -e

*/1 * * * * /root/502fix.sh
[/cce]

vi编辑器,首先按i键,在文件末尾按crontab命令格式输入 */1 * * * * /root/502fix.sh,再按ESC键,按Shift+:,输入wq回车存退出

 

定时内容为,每一分钟检查一次。
crontab 教程:http://www.vpser.net/manage/crontab.html

Nginx 502 Bad Gateway 自动重启脚本[转]

推荐脚本
需要确保系统已安装curl,centos可以执行:yum install curl,debian/ubuntu可以执行:apt-get install curl

用winscp或vi有或nano在/root目录下创建502.sh 内容如下:
[cce]
#!/bin/bash
# author: licess
# website: http://www.lnmp.org

CheckURL=”http://chenyouyi.com”

STATUS_CODE=`curl -o /dev/null -m 10 –connect-timeout 10 -s -w %{http_code} $CheckURL`
#echo “$CheckURL Status Code:\t$STATUS_CODE”
if [ “$STATUS_CODE” = “502” ]; then
/etc/init.d/php-fpm restart
fi
[/cce]
chmod +x /root/502.sh

 

用crontab 一分钟执行一次。上面的http://chenyouyi.com改成你的地址,如果该页面是静态,需换成以php的页面地址。
crontab 教程:http://www.vpser.net/manage/crontab.html
原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。

升级到WordPress 3.4.2 主题不见了 不能编辑主题

刚刚升级到WordPress 3.4.2

发现主题全部看不到了,没法切换主题

也不能编辑当前主题文件 提示:“噢,没有这个文件。请重新检查文件名,然后再试。谢谢。”

开始以为是wordpress的问题,在线重装了一边,后来发现还是不行。

解决办法

在Google搜索一番之后发现了问题的根源,原来是升级的时候,我用的是LNMP 0.9 一键安装包,PHP默认禁用了很多的函数,导致Wordpress不能正常列目录影响了主题功能的使用。

知道原因之后就好改了。
找到PHP.ini的目录:
修改文件
[cce]
/usr/local/php/etc/php.ini
[/cce]

把其中disable_functions 项目后面的
Scandir函数给删除。

如果改完上传不上去,是因为不可写,执行chmod 777 /usr/local/php/etc/php.ini 再上传即可

改完重启下PHP
service php-pfm restart
Wordpress就正常使用主题功能了。