标签归档:wordpress

VPS升级 LNMP(Oneinstack版本)设置笔记,重点排除rewrite伪静态问题


这几天抽空把博客升级,用了Oneinstack的套件。大部分的时间用来排除blog的伪静态rewrite。成功了才发现,之前早已经记录过这个问题。

Oneinstack的官网上好像还没有记载。照录在这里。

正常安装。编辑

usr/local/nginx/conf/rewrite/wordpress.conf

代码是这个:

location / {

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 (.*) /blog/index.php;
}

}

要特别注意上面代码的最后,加粗的部分,这里的“blog”的放Wordpress的目录名称。然后重启服务:

service nginx restart

搞定。

原文来自:风云居 | Less is more
本文链接: https://kangjian.net/blog/1658/


WordPress默认主题Twenty Ten的blockquote引用样式修改


WordPress默认主题Twenty Ten的默认blockquote引用样式为“斜体+缩进”,在排版上不太醒目。如图:

image

通过修改主题样式,可以使排版更加醒目、清晰。如图:

image

修改主题的Style.css:

查找“blockquote”,找到下面的代码:

blockquote {
font-style: italic;
padding: 0 3em;
}

这段代码有两个作用:一个句定义了斜体,一句定义了偏移的位置。我们在这段代码的前后通过注释符将代码注释掉:

/*
blockquote {
font-style: italic;
padding: 0 3em;
}
*/

在css文件末尾加入下面的代码:

blockquote {
background:#f9f9f9;
border-left:10px solid #ccc;
margin:1.5em 10px;
padding:.5em 10px;
width: 90%;
font: 微软雅黑, Georgia;
color: #888;
}
blockquote p {
display:inline;
}

其中,width宽度、font字体等处可根据实际情况修改。改完保存即可。如果需要恢复原状,只需要去掉最后一段代码,再把前面的注释符号去掉就可以。

20120211

20120529:经土木坛子兄提醒,如将上述代码最后三行去除,引用段落内可以完成换行。

原文来自:风云居 | Less is more
本文链接: https://kangjian.net/blog/892/


Linode VPS主机设置sendmail实现WordPress邮件通知


购买VPS后,一切系统功能都要自己动手实现。Wordpress通过mail()实现邮件发送。在VPS上,需要通过sendmail模块予以实现。

以Ubuntu为例:

1.安装sendmail

apt-get install sendmail
service sendmail start

2.设置sendmail开机自动运行

apt-get install chkconfig
chkconfig sendmail on

3.修改下php.ini的配置,调用sendmail功能

vim /usr/local/php/etc/php.ini 

找到有关sendmail_path的那一行,去掉行首注释,并改成如下的样子:

sendmail_path = /usr/sbin/sendmail -t –i

4.重新启动VPS主机

原文来自:风云居 | Less is more
本文链接: https://kangjian.net/blog/883/


更正了WordPress媒体库中两处图片链接错误


晚上写了一篇中期票据的Memo,临睡顺手更正了Wordpress媒体库中两处图片链接错误,涉及旧时Post两篇:

不能用UTF-8的汉字做附件文件名了。

yunnanganlanba.jpeg

再次向云南生产建设兵团第三水利团的知青们致敬!

原文来自:风云居 | Less is more
本文链接: https://kangjian.net/blog/803/


Linode VPS 设置LNMP (Linux + Nginx + Mysql + PHP) + WordPress伪静态笔记

Lunarpages实在是过慢了。服务行业就是这样,低价格一定是低品质。500ms以上的ping值无论如何不具有实用价值。于是挑战一下,从零开始试用了一下Linode的VPS。门户博客就像宾馆,拎包入住;虚拟主机就像毛坯房,尽管作何用很自由,但毕竟格局已定,条条框框就在那里,简单装修即可;VPS则彻底是地皮一块——裸机一台,需要自己选择系统究竟是CentOS还是Ubuntu,再通过SSH远程操作,从装系统开始,逐步搭建一个生产环境。 自从进了法学院,久违了这种码农似的研究。Linux的操作感果然很好,尽管没有GUI界面,依然是高效的。记录一下设置VPS的过程,方便以后的自己,也方便有缘读到这些文字的朋友。

一、牢记几个关键密码

这些密码层级不同,用处各异,必要的话用纸写下来。无论是操作虚拟主机还是VPS,千万不要因为记错不同的密码浪费时间。

  • 登录linode的账号、密码
  • 主机root密码
  • MySQL的root密码
  • FTP用户的密码
  • MySQl的FTP数据库(PureFTPd)密码
  • PhpMyAdmin的root密码

二、安装系统,搭建环境

这里我选择的是Ubuntu 11。这是我唯一接触过的Linux系统,使用者也多,google的资源丰富。 ssh环境下,vim或Linux操作时,鼠标右键单击=Ctrl+V,Ctrl+Inster=Ctrl+C。下面的所有指令都可以复制到剪贴板然后再ssh中右击粘贴,不要一个字母一个字母录入。

1.直接运行以下命令:

apt-get upgrade apt-get update

2.使用以下命令修改主机名称:

echo “YourVPSName” > /etc/hostname hostname -F /etc/hostname

其中YourVPSName可以替换成你自己的名字。

3.设置时区

tzselect

根据提示选择,一般5-9-1-1设置Beijing即可。

4.获取lnmp一键安装包并解压

wget -c http://soft.vpser.net/lnmp/lnmp0.8.tar.gz tar zxvf lnmp0.8.tar.gz

5.安装lnmp

cd lnmp0.8/ ./ubuntu.sh

这一步需要输入一个绑定的域名,根据lnmp.org的建议,使用一个二级域名lnmp.xxx.xxx,这个域名是互联网上不存在的,修改本地hosts可以使用。 马上要设定几个密码,准备好纸笔,写清楚即可。 这一步耗时大概30分钟左右。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。

6.安装几个必要组件

这一步基本没什么难度,相当于Windows下的一路Next。这一阶段要安装eAccelerator、ionCube、imageMagick、memcached、PureFTPd等。

7.升级Nginx版本

./upgrade_nginx.sh

按提示输入nginx的版本号,如1.1.13。

8.升级PHP版本

./upgrade_php.sh

按提示输入php版本号,如5.3.9。这一步很重要,据说老版本的PHP有比较严重的漏洞。5.3.9比较安全。

9.添加虚拟主机

/root/vhost.sh

这里会要求输入一次rewrite的程序。输入即可。伪静态不管用,后面需要重新写rewrite规则。

10.至此,系统环境基本搭建完毕。

三、几个必须要做的调整

1.设置ftp自动运行

这一步是必需的,否则一旦VPS重新启动,FTP将无法直接登录。如果你几周以后Reboot了系统,忘了FTP不能自动运行,导出找原因会找到死。 执行如下命令使开机启动:

cat >/etc/init.d/pureftpd.sh<<eof /root/pureftpd start eof update-rc.d pureftpd.sh defaults

2.设置目录写入权限

之前我们的操作是以root账户完成的,所有文件/文件夹的所有者都是root。如果保持这个状态,之后我们将无法以ftp账户的名义执行很多操作——比如任何形式的写入;同样,Wordpress等程序也无法上传附件。

chown -R www /home/wwwroot

chown指令将后面的目录的所有权限指派给了www用户。在前面设置ftp你已经将ftp账号的uid和gid设置成www组了。至此,一个Wordpress的环境设置结束,可以“自豪的使用Wordpress了”。

3.设置可用的rewrite伪静态规则

网上有很多Nginx的rewrite伪静态规则笔记。在我的实践中发现,大多不能用——不仅仅没有效果,有可能连累系统无法运行。rewrite设置得我几欲放弃,已经甘心宁愿用“?p=**”的传统默认链接了,最后一试成功了。下面的代码可以直接解决单域名单一目录或多子目录(多Wordpress,比如kangjian.net)的伪静态rewrite问题:

vim usr/local/nginx/conf/wordpress.conf

单一目录rewrite伪静态规则:(根据WP所在目录改写/blog部分)

location / { 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 (.*) /blog/index.php; } }

多个wordpress程序,多个子目录:(根据WP所在目录改写/blog和/paste部分)

location /blog/ { 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 (.*) /blog/index.php; } } location /paste/ { 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 (.*) /paste/index.php; } }

改写完wordpress.conf,执行下列语句重新启动Nginx的web环境:

/usr/local/nginx/sbin/nginx -s  reload

四、安装Wordpress程序

现在,安装Wordpress还是恢复别处备份来的Wordpress就看具体情况了。 感谢lnmp.org

后续文章:

Nginx下设置www.kangjian.net访问kangjian.net》 – 2012-1-30
Linode VPS主机设置sendmail实现WordPress邮件通知》 – 2012-2-11
Linode VPS升级 LNMP(Oneinstack版本)设置笔记,重点排除rewrite伪静态问题》 – 2016-8-23

WordPress程序中的Trackback


一直以来觉得blog最伟大的功能就是trackback,尽管这个词目前还没有统一的翻译。前几天还在做专家状给初级zbloger普及 trackback的功能,却发现其实自己还没搞清楚Wordpress下的trackback地址究竟是什么。以至于信誓旦旦的说,Wordpress 就不像Zblog那样单独有一个trackback地址,日志地址就是trackback的URL。完全记错了。

WordPress下面的trackback地址是每篇日志的url后面加上“/trackback/”。

例如这篇日志的URL是:

http://kangjian.net/blog/439

这篇日志的trackback地址就是:

http://kangjian.net/blog/439/trackback/

WordPress下面的很多模板都不会默认设置显示trackback地址,可以手动添加到single.php的适当位置中去:

本文Trackback引用地址,欢迎通过Trackback与我一起讨论

顺便多说几句,一直以来鄙视新浪博客的最主要原因就是新浪把类似trackback这样的blog基本功能阉割了,好端端的博客变成了“网络日记+留言板”,十足的落后生产力的代表。为什么这么说,可以参看这篇文章

写这篇日志参考了几位朋友的文章(1,2),在此一并表示感谢。

原文来自:风云居 | Less is more
本文链接: https://kangjian.net/blog/439/