Debian下使用Vi方向鍵變字母

這次用DigitalOcean VPS發現vi的方向鍵變成字母,沒辦法正常使用,搜索了下找到了解決辦法。

1
vi /etc/vim/vimrc.tiny

找到set compatible改為set nocompatible
小竅門:先不要進入編輯模式,把光標移動到compatible的前面,然后修改,添加no保存退出即可

退格鍵不能使用的話,在剛才的下面再加一句

1
set backspace=2

插曲:
一開始選的Debian 7.x, 按Debian 源安裝 NGINX+PHP+MYSQL安裝環境,結果Nginx安裝不上,后來改用Debian 6.x后正常安裝。

參考:http://www.linuxidc.com/Linux/2012-07/64329.htm

VPS安全設置記錄

新購入了五美元每月的DigitalOcean VPS,這次做了點VPS安全設置,如果設置好,可以看Debian 源安裝 NGINX+PHP+MYSQL安裝環境

修改 SSH 默認端口

1
vi /etc/ssh/sshd_config

將Port 22改為其他端口

禁止 root 帳號 SSH 登錄
先新建一個普通帳號

1
useradd demo

設置密碼

1
passwd demo
1
vi /etc/ssh/sshd_config

將 PermitRootLogin 的值改為 no
使用時su 成 root再執行

限制賬號多重登陸

1
vi /etc/security/limits.conf

加入如下配置

1
*               hard    maxlogins       2

防 ping
# 禁止 ping

1
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

# 允許 ping

1
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

重啟sshd服務

1
service sshd restart

1
/etc/init.d/ssh restart

參考:http://blog.onens.com/vps-security-setting.html

Sublime Text 2 安裝 Sublime Package Control

Sublime Text 2 安裝 Sublime Package Control,通過 Sublime Package Control,安裝、升級和卸載 Package。

安裝 Package Control 的方法:

1、打開 Sublime Text 2,按下 Control + ` 調出 Console,通常這個快捷鍵會與PC上的其它軟件起沖突,需要修改其它軟件的這個快捷鍵。

2、將以下代碼粘貼進命令行中并回車:

1
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())

3、重啟 Sublime Text 2,如果在 Preferences -> Package Settings中見到Package Control這一項,就說明安裝成功了。

LNMP環境源安裝web.py

空余時間想測試個web.py,經過多次搜索終于成功運行web.py,過程如下:
在已有LNMP環境下(如果還沒有裝好環境,可參考Debian 源安裝 NGINX+PHP+MYSQL

安裝Web.py

1
2
3
4
5
apt-get install python-setuptools
easy_install flup
easy_install web.py
easy_install Jinja2
easy_install MySQL-python

配置Web.py

1
mkdir -p /home/www/jymmbb

繼續閱讀

LNMP環境源安裝Memcached緩存

前篇寫了Debian 源安裝 NGINX+PHP+MYSQLDebian 源安裝 NGINX+PHP+MYSQL,今天又加了Memcached緩存,具體步驟如下:

安裝Memcached

1
apt-get install memcached php5-memcache

memcached沒有內置的安全驗證機制(為了不影響速度),這意味著所有的機器都能通過此端口使用它。因此此步驟可以增強其安全性。但是可以忽略

vi /etc/memcached.conf找到下面一段
Specify which IP address to listen on……
添加

1
-l 127.0.0.1

重啟memcached服務

1
/etc/init.d/memcached restart

重啟PHP

1
2
killall -9 php5-cgi
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u www-data -g www-data -f /usr/bin/php5-cgi

Debian 源安裝 NGINX+PHP+MYSQL

之前在Linode上一直用LNMP的一鍵安裝包,這次改用阿里云,試下通過源安裝LEMP環境,記錄下安裝過程。(VPS安全設置記錄)

創建screen會話,執行

1
screen -S lemp

如果screen命令不存在,執行

1
apt-get install screen

如果網絡掉線,重新連接,執行

1
screen -r lemp

修改源文件
在原有源的基礎上加入新的源

1
vi /etc/apt/sources.list

在文件底部加入如下內容:

1
2
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all

增加新加源的證書

1
2
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -

刪除不用組件

1
apt-get --purge -y remove apache2-* bind9-* xinetd samba-*

更新源數據

1
2
apt-get update
apt-get upgrade

安裝Nginx

1
apt-get install nginx

繼續閱讀

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

重啟后即可。
繼續閱讀

ThinkSAAS Nginx 的偽靜態(Rewrite)規則

ThinkSAAS是一個輕量級的開源社區系統,是一個可以用來搭建討論組,bbs和圈子的社區系統。

江陰人就是采用的ThinkSAAS程序。

把下面代碼存為thinksaas.conf,然后在域名配置文件(jyr.me.conf)中嵌入(include thinksaas.conf)就行了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 (.*) /index.php;
    }
}

WordPress Multisite Nginx 的偽靜態(Rewrite)規則

  WordPress是一個注重美學、易用性和網絡標準的個人信息發布平臺。WordPress 雖為免費的開源軟件,但其價值是無法用金錢來衡量。使用WordPress可以搭建功能強大的網絡信息發布平臺,但更多的是應用于個性化的博客。針對博客的應用,WordPress能讓您省卻對后臺技術的擔心,集中精力做好網站的內容。

珂亦網絡科技采用WordPress ,并開啟了多站點功能,裝了Domain Mapping插件來管理子站點。

把下面代碼存為wordpress.conf,然后在域名配置文件(koryi.com.conf)中嵌入(include wordpress.conf)就行了,些規則也適合單用戶WordPress

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
location ^~ /files/ {
    rewrite ^.*/files/(.*) /wp-includes/ms-files.php?file=$1 last;
}

location / {
    server_name_in_redirect off;
    port_in_redirect off;

    if (!-e $request_filename) {
        rewrite ^.+?(/wp-.*) $1 last;
        rewrite ^.+?(/.*\.php)$ $1 last;
        rewrite ^ /index.php last;
    }

    if (!-e $request_filename) {
        return 404;
    }
}

location ^~ /blogs.dir/ {
    internal;
    root /home/www/wordpress/wp-content;
}