防止ssh超时连接断开

修改自己 root 目录下的.bash_profile文件,加上
export TMOUT=10000 (以秒为单位)
然后运行:
source .bash_profile
在/etc/ssh/sshd_config中加入:
ClientAliveInterval=60
每一分钟,sshd都和ssh client打个招呼,检测它是否存在,不存时即断开连接。
注意:设置完成后,要退出ssh远程连接,再次登录后才可以生效。因为要再读取一次./bash_profile。

echo export TMOUT=1000000 >> /root/.bash_profile
cat /root/.bash_profile
source .bash_profile
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
echo ClientAliveInterval=60 >> /etc/ssh/sshd_config
service sshd restart
cat /etc/ssh/sshd_config
service sshd restart
exit

Ionic

安装node.js npm
http://nodejs.cn/download/releases/
https://nodejs.org/download/release/v5.1.1/node-v5.1.1.pkg

安装cordova
# npm install -g cordova
安装完毕
# cordova –version
5.2.0

安装ionic
# npm install -g ionic -d
# ionic –version
1.6.4

运行程序
ionic serve
1

解决ufeff

把utf-8编码文件的BOM头去掉。
可以编写程序,检测文件头的三个字符是否为0xEF、0xBB和0xBF,
如果是的话,直接删除掉即可。

也可以用Notepad++
打开文件重新编辑,设置为无BOM头的utf-8编码。

PHP UCS-2BE乱码问题

linux服务器上UCS-2编码方式与Winodws不一样,容易产生乱码。
需要做下面的处理
iconv(\’UCS-2BE\’, \’UTF-8\’, \’中文\’)

UCS-2 不等于 UTF-16。
UTF-16 每个字节使用 ASCII 字符范围编码,
而 UCS-2 对每个字节的编码可以超出 ASCII 字符范围。
UCS-2 和 UTF-16 对每个字符至多占两个字节,
但是他们的编码是不一样的。

对于 UCS-2, windows 下默认是 UCS-2LE。
用 MultibyteToWidechar(或者A2W)生成的是 UCS-2LE 的 unicode。
windows记事本可以将文本保存为 UCS-2BE,相当于多了层转换。

对于 UCS-2, linux 下默认是 UCS-2BE。
用iconv(指定UCS-2)来转换生成的是 UCS-2BE 的 unicode。
如果转换windows平台过来的 UCS-2, 需要指定 UCS-2LE。

yii 配置域名直接访问basic模板web下报错

Failed opening required xxx/../vendor/autoload.php

错误原因是fastcgi.conf中设置的open_basedir=$document_root
指向的是网站根目录下的web内,
root /home/wwwroot/basic/web

但nginx需要解析网站根目录下的php文件来运行yii。
root /home/wwwroot/basic

在虚拟主机conf文件中重新给open_basedir赋值来解决此问题:
location ~ [^/]\.php(/|$){

include fastcgi.conf; #注意
fastcgi_param PHP_ADMIN_VALUE “open_basedir=/home/wwwroot/basic/:/tmp/:/proc/”;
}

注意:一定要在include fastcgi.conf之后加入上面一行,这样可以覆盖在fastcgi.conf中定义的open_basedir值。

vagrant 首次运行Yii报错

Failed to create directory “/xxx/basic/runtime/logs”: mkdir(): Permission denied
由于使用了主机与虚拟机文件夹共享,无法在虚拟机中修改文件夹用户权限。
需要修改vagrant配置文件Vagrantfile,
指定共享文件夹用户组和用户为www(nginx配置使用的用户组和用户)

config.vm.define “linode” do |ln|
  …
  config.vm.synced_folder
    “xxx”,
    “xxx”,
    owner:”www”, //虚拟机文件所有者(确保有该用户),默认为vagrant
    group:”www”, //虚拟机文件所有组(确保有该用户组),默认为vagrant
    :mount_options => [“dmode=755″,”fmode=644”]
end

lmnp常用命令

LNMP 1.2状态管理: lnmp {start|stop|reload|restart|kill|status}
LNMP 1.2各个程序状态管理: lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}
LNMP 1.1状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
ProFTPd状态管理: /etc/init.d/proftpd {start|stop|restart|reload}

如重启LNMP,输入命令:/root/lnmp restart 即可,单独重启mysql:/etc/init.d/mysql restart

LNMPA状态管理命令:
LNMPA 1.2状态管理: lnmp {start|stop|reload|restart|kill|status}
LNMPA 1.2各个程序状态管理: lnmp {httpd|mysql|mariadb|pureftpd} {start|stop|reload|restart|kill|status}
LNMPA1.1状态管理: /root/lnmpa {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
ProFTPd状态管理: /etc/init.d/proftpd {start|stop|restart|reload}
Apache状态管理:/etc/init.d/httpd {start|stop|restart|graceful|graceful-stop|configtest|status}

LAMP状态管理命令:
LAMP 1.2状态管理: lnmp {start|stop|reload|restart|kill|status}
LAMP 1.2各个程序状态管理: lnmp {httpd|mysql|mariadb|pureftpd} {start|stop|reload|restart|kill|status}

1234