最近從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沒有權限時可以使用詞條命令來賦予權限解決問題