博客搬出SAE

2015-09-15 20:33:26

之前选择SAE建站也是奔着SAE对开发者免费去的,时至今日,伴着SAE已走过两个年头,SAE也开始收费了,是时候搬出来了。

因为只是挂个自己的博客,记录点东西而已,不存在访问量爆棚的情况,对性能也没什么要求。所以选择了性价比不错的搬瓦工vps,事实证明确实是个不错的选择,速度相当不错。有需要的朋友可以看看,贴出我买的配置如下,供参考:

vps

以上配置税后是19刀/年(输入优惠吗:IAMSMART5GRNII 立省5%),基本算是全网最优惠的价格了。256M的内存跑Wordpress足够了,还可以挂个VPN也完全吃的消。但跑Wordpress不建议选择128M以下的,毕竟wp还是比较吃内存。之前有考虑过换个轻量的博客,嫌麻烦就没换。

另外说明的是搬瓦工vps现在支持支付宝付款了,算是没有信用卡的朋友的福音。同时机房建议选择美国西海岸的洛杉矶机房,速度会快一些。

  1. 主机拿到手后,可以登陆控制面板查看ip,port这些信息,直接ssh连上去配置即可。
    mac直接终端连接:
    ssh root@65.48.41.158 -p19341

    ssh username@your ip -pyou port

  2. 这里我直接安装LNMP的安装包,详细步骤可移步lnmp官网http://lnmp.org/install.html 。

  3. LNMP环境搭建成功之后,需要创建虚拟主机,详情请访问官网http://lnmp.org/faq/lnmp-vhost-add-howto.html 。这里要注意的一点是。创建虚拟主机的时候需要选择是否开启伪静态规则,建议大家开启。还有关于域名301的问题官网也有详细的介绍http://lnmp.org/faq/lnmp-nginx-301-rewrite.html 。

  4. 环境配好之后,访问ip/phpmyadmin设置数据库,为wp新建一个数据库。然后用sftp连接上传Wordpress程序,访问ip后就可以看到安装提示了,填写所需的数据库连接信息就可以成功安装了。

  5. 安装完后将从SAE导出的数据库文件导入,将原主题,插件灯上传到相关位置即可。需要注意的是SAE储存文件用的storage,所以需要将storage下载下来,把uploads文件夹上传至wp-contents目录下,这样原来的附件,文件都不会丢失。

至此博客的迁移就结束了,还有一些细节需要调整。再这过程中也遇到一些问题,记录如下:

LNMP下设置Wordpress固定链接404

跟之前一样,在wordpress下的设置里的“固定链接”配置页面,自定义链接的结构 “http://www.ldsun.com/%post_id%.html/,保存更改后,只有首页访问正常,其他页面都报404错误。在nginx下解决方法如下:

修改网站域名对应的ngnix配置文件,如本网站的为/usr/local/nginx/conf/vhost/www.ldsun.com.conf

在文件中找到root /wwwroot/www.ldsun.com;在其下粘贴以下代码:

if (-f $request_filename/index.html){  
 rewrite (.*) $1/index.html break;  
 }

if (-f $request_filename/index.php){  
 rewrite (.*) $1/index.php;  
 }

if (!-f $request_filename){  
 rewrite (.*) /index.php;  
 }

保存后重启ngnix:service nginx restart 执行即可。

LNMP下更新/安装插件/主题时提示输入FTP信息

出现这个的问题就是Nginx的执行身份非文件属主身份。

解决方法:

假设你的wordpress安装目录为/home/wwwroot/www.ldsun.com

执行:chown -R www /home/wwwroot/www.ldsun.com/*

执行上面的命令就可以将/home/wwwroot/www.ldsun.com下所有文件的属主改为www,这样就可以解决自动更新必须填FTP的问题。

LNMP下Wordpress主题不可见

登陆后台会发现只显示当前使用的主题,别的主题不显示,解决方法:

服务器里禁用了一个scandir函数,导致wordpress无法缓存主题列表,所以我们无法在wordpress后台看到所有主题,解决方法很简单,在服务器里开启这个scandir函数就可以了。

进入/usr/local/php/etc,修改php.ini,找到disable_functions,删除列表中得scandir。保存,退出,重启nginx即可。

Bootstrap Datetimepicker 兼容IE8

bootstrap datetimepicker插件在IE8下显示无效,报错提示bootstrap-datetimepicker.js脚本不支持indexOf()方法 解决方案:在bootstrap-datetimepicker.js/bootstrap-datetimepicker.min.js最前面添加以下代码: if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt /*, from*/) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from

VPS磁盘爆满导致ngnix无法启动

昨天感觉VPN速度贼慢,访问了下博客发现速度也上不去,遂登录控制面板看了一眼。结果Disk usage直接爆满,红的相当感人。 实在是想不出什么占用了这么大的空间,直接重启看看,然后就没有然后了,因为重启完磁盘占用率依旧感人,同时ngnix没有启动。尝试手动启动,结果报错提示磁盘空间不足,无法启动ngnix服务器。最可悲的是ssh也因为磁盘空空间不足死活连不上,真是哔了小狗了。 万幸的是vps的控制面板自带的简易shell还能用,输入df -h查看磁盘占用情况,结果是100%占用,然后一路df -sh *定位过去发现mysql目录下爆满(df -h查看哪个目录满,然后切款到该目录下后用df -sh 继续追踪),原来是装LNMP的时候默认开启了mysql的日志,然后满满的全是mysql-bin.的日志文件。 解决方法: 1.直接删除已有日志文件root@ludis:/usr/local/mysql/var# rm -f ./mysql-bin.* 2.关闭Mysql的log-bin日志功能: vim /etc/my.cnf 找到: