最近从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没有权限时可以使用词条命令来赋予权限解决问题