选择LNMPLinux CentOS 6.4+Nginx+MySQL+PHP+WordPress)在VPS上架设,地址为Adrop的自留地 http://www.adrop.me,记录安装和配置设的过程及遇到的问题。开源免费的wordpress功能很强大定制性很强,配置起来却也麻烦不少。

 

安装

CentOS上使用yum命令安装,过程略过不表。

 

wordpress配置

主题及布局相关

Responsive Design是大势所趋,页面需要在PCiPhoneAndroidiPad等各种手机及平板设备上都能适应,甚至支持Retina视网膜屏幕。所选主题为Catch Box,免费、简洁、清爽干净的Responsive主题,唯一缺点是不支持中文,http://wordpress.org/extend/themes/catch-box,可以在wordpres官网搜索。

 

插件、主题升级设置

安装插件或主题时,wordpress默认会弹出ftp用户设置界面,是因为php-fpm进程所使用的用户对wp-content目录没有write权限导致,可将wp-content所属用户设置为和启动php-fpm进程的用户一致并加write权限即可。

wps_clip_image-7487

执行ps -ef命令显示系统进程,看到启动php-fpm的用户为apache,则执行命令如下:

chown -R apache:apache wordpress; // wordpress目录及其子目录的所属用户设置为apache

chmod -R +w wordpress/; // 添加wordpress所在目录及其子目录的write权限

 

推荐插件

Google Xml Sitemaps,生成你的blog站点的sitemap.xml文件,支持GoogleBingYahoo!各大搜索引擎,并在文章、页面更新时自动ping上述搜索引擎。

http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/

All in One SEO Pack,针对首页和每篇文章、页面设置各种SEO相关属性设置,关键词keywords、描述description等,自动优化标题,支持Google Analytics,使用比较方便。SEO首选插件。

http://wordpress.org/extend/plugins/all-in-one-seo-pack/

WordPress SEO by Yoast,包含上述两个插件的全部功能,用起来比较复杂,功能也更强大。

http://yoast.com/wordpress/seo/#utm_source=wpadmin&utm_medium=plugin&utm_campaign=wpseoplugin

WP Super Cache,为你的站点生成静态html页面,无需php解析和访问数据库,大大加速你的网站运行速度,必备!

http://ocaoimh.ie/wp-super-cache/

 

固定链接设置

wordpress官方的文档中,有三种链接形式,1)丑陋的默认链接;2PATHINFO的链接,加个index.php,其实也很丑陋,比默认链接稍微好点而已;3)自定义结构链接,需要配合webserver rewrite规则。

个人考虑链接原则:1)搜索引擎友好,符合SEO2url不能过长;3)美观,毫无疑问要使用自定义结构链接,形式有如下多种:

http://www.adrop.me/wp/2013/03/sample-post/

http://www.adrop.me/wp/archives/123

http://www.adrop.me/wp/sample-post/

http://www.adrop.me/wp/category/sample-post/

个人选择 http://www.adrop.me/archives/%postname%,据说http://www.adrop.me/archives/%postname%/ 对搜索引擎更友好,不过不喜欢后面那个斜线。

 

分类分类前缀和标签前缀分别为cattag,生成的链接为

http://www.adrop.me/cat/%category%http://www.adrop.me/tag/%tag%  ,分别以前缀archivescattagurl中标识文章、分类录和标签。

 

 

 

设置自定义结构固定链接后,文章的链接符合预期,但是页面的 固定链接却没有archives前缀,比如 http://www.adrop.me/about-me-adrop ,在nginx中设置rewrite规则。

 

至此,生成的url固定链接为:

文章:http://www.adrop.me/archives/cpu-cache-and-concurrent

页面:http://www.adrop.me/about-me-adrop

分类:http://www.adrop.me/cat/tech

标签:http://www.adrop.me/tag/cache

 

最简单的nginx设置即可支持自定义结构的固定链接,只需要一行try_files即可。try_files首先会将整个uri做为一个静态文件访问,如果存在则结束;否则做为一个目录访问,如果静态文件和目录都失败,最后重定向到内部的/index.php处理,会命中下一条规则,由fastcgi丢给wordpress处理。

 

        location / {

                index index.php;

                try_files $uri $uri/ /index.php?$args;

        }

        location ~ \.php$ {

                fastcgi_pass 127.0.0.1:9000;

                fastcgi_index index.php;

                fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;

                include        fastcgi_params;

        }

 

 

Nginx配置

 

LNMP优化

vi /etc/php-fpm.d/www.conf,修改如下参数为以下值,减少不必要的php-fpm fastcgi进程数,可以根据具体访问量来调整

pm = dynamic

pm.max_children = 5

pm.start_servers = 2

pm.min_spare_servers = 2

pm.max_spare_servers = 5

pm.max_requests = 300

 

SEO

除了设置自定义结构的固定链接,安装插件对每一篇文章做SEO,增加搜索引擎收录的几率。

 

搜索引擎ping

搜索引擎的ping接口,网站更新时主动通知搜索引擎的接口,让搜索引擎快速、及时收录你的网站,便于抓取和更新更新。新写了blog,肯定想让搜索引擎尽快收录,别人搜索跟你网站相关的关键词时,就能被搜到。

 

Google网站站长工具

https://www.google.com/webmasters/tools

添加网站地址,验证,并提交sitemap网址供Google收录

Google Blog Search Ping工具 http://blogsearch.google.com/ping

 

百度站长平台站长工具

http://zhanzhang.baidu.com/dashboard/index

添加网站地址,也需要验证,百度不能主动提交sitemap,是主动邀请的方式,我等屌丝自娱自乐的blog肯定不会在邀请之列了。

不过百度有ping工具,手工pingxml-rpc协议的ping接口。

手工ping地址 http://ping.baidu.com/ping.html

提供工具对站点做安全检测和漏洞检测。

国外站点ping服务

http://pingomatic.com/ 可以支持国外很多站点的ping服务,需要手工操作

wps_clip_image-5264

备份

VPS并非自己的服务器,出故障的可能性不小,定时备份才是王道。