Linode基础设置中注意的几个细节

Linode安装完系统后和必要的组件后,并不是所有的事都做完了,如果下面的几个细节你没有完成的话,将会在使用中遇到一些麻烦:

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