Back

Lnmp环境安装WordPress与启用多站点作博客托管服务

部落曾经介绍过超省内存的LNMP环境:适合小内存VPS建站,也一直对Nginx充满好感,虽然部落目前用的还是Apache,主要是WordPress上默认的重写都是Apache的,嫌麻烦,不想换。本次就介绍一下WordPress在Nginx上的安装以及WordPress多站点模式。

其实,WordPress在Nginx环境下还是可以很好地实现的。以前部落就写过一篇Nginx下WordPress的Rewrite规则。本次,部落以一台512M的OpenVZ的VPS为材料,是上次在IPxCore花2.49美元买的,还是容姐介绍的。

一、Lnmp与WordPress的安装

部落用的是CentOS,默认安装有Apache,先卸载Apache,再安装军哥的Lnmp
yum -y remove httpd wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./centos.sh
具体安装请参考:http://lnmp.org/install.html

添加虚拟主机,执行/root/vhost.sh,如图,如果要启用多站点模式,可以额外添加*.yourdomain.com的泛子域名。

201311121101

WordPress的重写规则默认就有,只需在添加虚拟主机的时候,“Allow Rewrite rule”,而后再输入wordpress,即可完美使用WordPress。注意添加虚拟主机会重启Nginx。

201311121102

再打开http://IP/phpmyadmin/,用root登陆,添加一个用户和数据库,用作WordPress的数据库。执行以下命令,安装WordPress
cd /home/wwwroot/myblog.pjcss.com wget http://cn.wordpress.org/wordpress-3.7.1-zh_CN.tar.gz tar zxvf wordpress-3.7.1-zh_CN.tar.gz cd ./wordpress/ mv * /home/wwwroot/myblog.pjcss.com
安装好后,如果要安装插件和主题,会要求输入FTP账号,于是我们可能需要安装FTP。

Lnmp一键安装包中有Pureftpd和Proftpd服务器安装脚本,Pureftpd需要数据库支持。部落比较喜欢配置文件,因此装了Proftpd:执行/root/lnmp1.0-full/proftpd.sh,安装完成后好像Proftpd没有启动成功,好像是用户和组的问题。修改/usr/local/proftpd/etc/proftpd.conf中的User和Group为www和www。执行/root/proftpd_vhost.sh即可添加FTP用户。

201311121103

WordPress请求FTP就是权限不够时才会出现,上述FTP装完后在WordPress中安装主题仍会提示“无法创建目录”。发现/home/wwwroot目录的所有者是root,后来创建的好像都是root所有,./default/phpmyadmin的所有者倒是www。于是执行以下命令:
cd /home chown -R www.www wwwroot
将整个wwwroot目录划归用户www,然后在WordPress装主题、插件就不再需要FTP了。

Lnmp搭建WordPress博客后台不能显示所有主题,也无法编辑主题,原因是scandir函数被禁用导致wordpress无法缓存主题列表。解决方法是用vi打开/usr/local/php/etc/php.ini,输入/disable_functions查找“disable_functions”,将scandir几个字去掉,然后执行/etc/init.d/php-fpm restart重启PHP。

201311121104

二、Lnmp下WordPress多站点的尝试

WordPress多站点还是很有用的,比如WordPress主题制作人可以弄一个多站点用于主题展示,也可以适用于小团体搭建博客群,也可以是单纯地为他人提供博客托管服务。

WordPress开启多站点的具体过程可以参考部落的WordPress多站点:为他人提供博客托管服务。在Nginx也大同小异,唯一的问题是重写规则。有兴趣的朋友可以参考此文:http://wpmu.org/wordpress-multisite-wordpress-nginx/(英文),好像Nginx的wiki上也有,参考http://wiki.nginx.org/HttpCoreModule(英文)。部落写的WP多站点的ReWirte规则即/usr/local/nginx/conf/wp-mu.conf文件:
location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent;

不要忘了在/usr/local/nginx/conf/vhost/blog.pjcss.com.conf中把“include wordpress.conf;”修改为“include wp-mu.conf;”,最后还要重启Nginx。

201311121105

如果仅仅提供子域名,不提供域名绑定的话,在添加虚拟主机的时候额外绑定*.yourdomain.com就行了。但如果要提供域名绑定,可以直接把default站点用于装wordpress多站点。

WP多站点演示:http://blog.pjcss.com/
子博客演示:http://sample.blog.pjcss.com/

三、总结

Nginx作为一款优秀的Web服务器和反向代*服务器的确可以很好地运行WordPress,WP多站点模式也可以很好地在Nginx上跑,当然WP多站点的ReWrite规则可能需要进一步的修改。如果真的要提供WordPress的博客托管服务,强烈建议不要用Apache,应该用Nginx,因为Nginx能在同等条件下承受更多的并发连接,还有就是运行WP博客托管服务的服务器(VPS)性能一定要好。

转载无纯洁的文章。

Submit
    无纯洁
    无纯洁  2015-05-28, 15:48

    好熟悉的文章。。。

      AngelFrdom
      AngelFrdom  2015-05-28, 19:44

      我从你快消失的文章转过去的

    猫耳的秘密
    猫耳的秘密  2015-05-28, 20:11

    这头像怎么那么大。。。

      AngelFrdom
      AngelFrdom  2015-05-30, 20:08

      审查元素找不到了

    saber酱
    saber酱  2015-05-28, 23:36

    现在的版面比以前的看着舒服了

    eddie32
    eddie32  2015-05-29, 09:54

    我觉得转载别人文章, 还是写明出处比较好。