Linode VPS 使用记录

最近从QuickWeb VPS搬到了Linode VPS,选的是日本线路,环境直接用了LNMP一键安装。

让lnmp能用mail()函数来发邮件
LNMP0.9默认安装完,是不能用mail()函数来发邮件的,需手动安装。

1
2
3
4
apt-get install sendmail
chkconfig sendmail
/etc/init.d/sendmail start
/root/lnmp restart

如果还是不行,可以试试修改php.ini,找到mail部分的设置,将下面这个参数设置下即可:

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

LNMP 0.9禁用了部分存在危险的PHP函数
如果引起DiscuzX 通信失败或通过Socket连接SMTP无法发送邮件或wordpress Akismet 无法工作,则可以/usr/local/php/etc/php.ini 查找disable_functions,将这pfsockopen、fsockopen scandir 3个函数从禁用列表里删除。

如果想完全删掉禁用列表里的函数可以执行:

1
sed -i 's/disable_functions =.*/disable_functions =/g' /usr/local/php/etc/php.ini

然后执行

1
/etc/init.d/php-fpm restart

重启后即可。

lnmp 重启出现php fpm eaccelerator报错
lnmp重启时,报错如下:

Starting php_fpm Failed loading /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so: cannot open shared object file: No such file or directory

vps装过eaccelerator

解决方法如下:

1
vi /usr/local/php/etc/php.ini

修改php.ini 将里面的no-debug-non-zts-20090626 改成no-debug-non-zts-20060613 重启。

lnmp 重启出现Manager of pid-file quit without updating file. … failed!报错

1
2
vi /etc/my.cnf
skip-federated 将此行注释掉

或者编译的时候加上如下参数:

1
--with-plugins=all

查看进程

1
ps -A|grep mysql

结果
8016 pts/2 00:00:00 mysqld_safe
8037 pts/2 00:00:00 mysqld

然后KILL进程

1
2
kill -9 8037
kill -9 8016

重启 LNMP

删除MYSQL的操作日志
LNMP默认没用禁用,如果VPS空间较小的话会不够用,可以禁用操作日志

1
vi /etc/my.cnf

log-bin=mysql-bin 将此行注释掉

对于以前生成的日志可做如下操作清空
运行

1
/usr/local/mysql/bin/mysql -u root -p

输入root密码,然后输入下面的命令

1
reset master;

lnmp去掉nginx上传目录的PHP执行权限
LNMP有一个缺点就是目录权限设置上不如Apache,有时候网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险。建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误。
首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加:

1、单个目录去掉PHP执行权限

1
2
3
location ~ /attachments/.*\.(php|php5)?$ {
deny all;
}

将attachments目录的PHP执行权限去掉。

2、多个目录去掉PHP执行权限

1
2
3
location ~ /(attachments|upload)/.*\.(php|php5)?$ {
deny all;
}

将attachments、upload这二个目录的PHP执行权限去掉。

关于在WordPress中自动更新版本或者插件提示输入FTP信息的解决方法
直接在SSH中输入命令:

1
chown -R www:www /home/wwwroot/xxx.com

xxx.com为你的域名绑定目录,这其实是一条赋予你目录权限的命令,当你安装其他程序提示找不到目录or没有权限时可以使用词条命令来赋予权限解决问题