运行环境:Debian 7.8

Cacti监控的Poller查询snmp,每查询一次就输出几行 Connection 信息到/var/log/syslog,如:

Feb 10 11:18:01 install snmpd[2589]: Connection from UDP: [127.0.0.1]:42043->[127.0.0.1]
Feb 10 11:18:01 install snmpd[2589]: Connection from UDP: [127.0.0.1]:60018->[127.0.0.1]
Feb 10 11:18:01 install snmpd[2589]: Connection from UDP: [127.0.0.1]:38451->[127.0.0.1]
Feb 10 11:18:01 install snmpd[2589]: Connection from UDP: [127.0.0.1]:54567->[127.0.0.1]
Feb 10 11:18:01 install snmpd[2589]: Connection from UDP: [127.0.0.1]:56727->[127.0.0.1]

欲要修改snmp日志输出的详细度,可将启动参数 -Lsd 修改为 -LSwd。具体如下:

# vi /etc/default/snmpd 

#SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'
SNMPDOPTS='-LSwd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'

重启服务:

# service snmpd restart

---------------------------

分析思路:

1)查看进程(ps aux),能看到启动参数:

/usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid

2)查看启动脚本,看如何修改:

以上可知,需要修改 /etc/default/snmpd 里的参数。

3)查看帮助(man snmpcmd),有详细解释(只是缺少例子):

LOGGING OPTIONS
       The mechanism and destination to use for logging of warning and error messages can be controlled by passing various parameters to the -L flag.
       -Le    Log messages to the standard error stream.
       -Lf FILE
              Log messages to the specified file.
       -Lo    Log messages to the standard output stream.
       -Ls FACILITY
              Log messages via syslog, using the specified facility ('d' for LOG_DAEMON, 'u' for LOG_USER, or '0'-'7' for LOG_LOCAL0 through LOG_LOCAL7).
       There are also "upper case" versions of each of these options, which allow the corresponding logging mechanism to be restricted to certain priorities of message.  Using
       standard error logging as an example:
       -LE pri
              will log messages of priority 'pri' and above to standard error.
       -LE p1-p2
              will log messages with priority between 'p1' and 'p2' (inclusive) to standard error.
       For -LF and -LS the priority specification comes before the file or facility token.  The priorities recognised are:
              0 or !  for LOG_EMERG,
              1 or a for LOG_ALERT,
              2 or c for LOG_CRIT,
              3 or e for LOG_ERR,
              4 or w for LOG_WARNING,
              5 or n for LOG_NOTICE,
              6 or i for LOG_INFO, and
              7 or d for LOG_DEBUG.
       Normal output is (or will be!) logged at a priority level of LOG_NOTICE



注:测试环境 debian_version =6.0.8

1、普通用户不能在shell下tab键补全的问题
----
原因:默认普通用户的shell不是bash
解决:# dpkg-reconfigure dash

2、修改时区
----
命令:# dpkg-reconfigure tzdata

3、设置locale
----
方法:# vi /etc/environment     //原文件内容为空

LANG="en_US.UTF-8"

4、Debian7修改crontab默认编辑器nano为vim
----
命令:# update-alternatives --config editor


在RHEL下,dig 工具属于 bind-utils 这个包。

而在Debian下,dig 工具属于 dnsutils 这个包。

安装 dnsutils :

# apt-cache search dnsutilsdnsutils - Clients  provided with BIND
# apt-get install dnsutils

查询一下安装了哪些文件:

# dpkg-query -L dnsutils/usr/bin/dig
/usr/bin/nslookup
/usr/bin/nsupdate
/usr/share/man/man1/dig.1.gz
/usr/share/man/man1/nslookup.1.gz
/usr/share/man/man1/nsupdate.1.gz
/usr/share/doc/dnsutils
/usr/share/doc/dnsutils/changelog.Debian.gz
/usr/share/doc/dnsutils/copyright
#

试试效果:

# dig www.sealinger.com

不错,哈哈。。


安装环境:sealinger@Debian 5.0.6 32位

1、安装PHP、MySQL

这里仅示例查找软件名称和安装的方法,需要安装哪些包,由你自己的需求决定。

1)安装PHP:
sealinger:~# apt-cache search php5

然后自己查看需要的包的名字,安装即可。

nginx调用php使用fcgi模式,故只需安装php5-cgi即可:

sealinger:~# apt-get install php5-cgi
The following NEW packages will be installed:  php5-cgi php5-common
2)安装MySQL:
sealinger:~# apt-get install mysql-server mysql-client php5-mysql
The following NEW packages will be installed:  libdbd-mysql-perl libhtml-template-perl libterm-readkey-perl
  mysql-client mysql-client-5.0 mysql-server mysql-server-5.0 php5-mysql

2、安装 nginx

**********网上参考 ***********************
下面开始在debian 下部署nginx
首先不需要太多包,只需要 pcre, ssl and zlib
 aptitude install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev*****************************************

1)先安装一些依赖包:

# dpkg -l |grep zlib
ii  zlib1g    1:1.2.3.3.dfsg-12    compression library - runtime
# apt-cache search zlib.*-devzlib1g-dev - compression library - development
# apt-get install zlib1g-dev
# apt-get install libssl-dev

安装 pcre :

# apt-get install libpcre3-dev  libpcre3-dev libpcrecpp0

2)再安装nginx:

准备accesskey模块(防盗链模块,可选):

$ wget http://wiki.nginx.org/images/5/51/Nginx-accesskey-2.0.3.tar.gz$ tar zxvf ../pkgs/Nginx-accesskey-2.0.3.tar.gz

Unpack, edit the "config" file, replace "$HTTP_ACCESSKEY_MODULE" with "ngx_http_accesskey_module", and then compile nginx with:  ./configure --add-module=path/to/nginx-accesskey

$ vi nginx-accesskey-2.0.3/config
USE_MD5=YES
USE_SHA1=YES
ngx_addon_name=ngx_http_accesskey_module
HTTP_MODULES="$HTTP_MODULES ngx_http_accesskey_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_accesskey_module.c"

开始编译安装nginx:

$ wget http://nginx.org/download/nginx-0.8.32.tar.gz$ tar zxvf ../pkgs/nginx-0.8.32.tar.gz$ cd nginx-0.8.32/$ vi auto/cc/gcc   #注释掉debug模式
# debug
#CFLAGS="$CFLAGS -g"
./configure \
 --prefix=/home/ligb/nginx \
 --with-http_stub_status_module \
 --with-http_ssl_module \ --add-module=../nginx-accesskey-2.0.3/
Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + md5: using OpenSSL library
  + sha1: using OpenSSL library
  + using system zlib library
  nginx path prefix: "/home/ligb/nginx"
  nginx binary file: "/home/ligb/nginx/sbin/nginx"
  nginx configuration prefix: "/home/ligb/nginx/conf"
  nginx configuration file: "/home/ligb/nginx/conf/nginx.conf"
  nginx pid file: "/home/ligb/nginx/logs/nginx.pid"
  nginx error log file: "/home/ligb/nginx/logs/error.log"
  nginx http access log file: "/home/ligb/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
$ make && make install

========= 配置 ulimit -n =================

# vi /etc/security/limits.conf
* - nofile 8192

========= 安装 spawn-fcgi ================

$ wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz$ tar zxvf ../pkgs/spawn-fcgi-1.6.3.tar.gz
$ cd ./spawn-fcgi-1.6.3/
$ ./configure --prefix=/home/ligb/spawn-fcgi
$ make && make install

启动 php-cgi:

$ cd spawn-fcgi-1.6.3/bin/
$ ./spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -f /usr/bin/php-cgi -P fastcgi-php.pid

======== 配置 nginx 维护脚本 =================

$ wget http://topfunky.net/svn/shovel/nginx/init.d/nginx

======== 配置 nginx ==========================

具体网上很多,建议参考张老师的吧。我自己就记录一个点:

开始打开.php文件,提示 “No input file specified”,是 SCRIPT_FILENAME 没有设置正确,改为如下OK:

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;    include        fastcgi_params;
}

======================================================


2010年02月19日

Debian初学者笔记(2)

Debian 计划

 

1、服务管理工具

1) rcconf :

Debian也有个类似 RedHat 下 ntsysv 的工具,叫 rcconf 。

sealinger:~# apt-cache search rcconf

rcconf – Debian Runlevel configuration tool

sealinger:~# apt-get install rcconf安装完成后,直接运行即可:

sealinger:~# rcconf字符界面,类似 ntsysv 的。

2)sysv-rc-conf :

类似 RedHat 下的 chkconfig 命令行工具。

sealinger:~# apt-cache search sysv-rc-conf

sysv-rc-conf – SysV init runlevel configuration tool for the terminal

sealinger:~#apt-get install sysv-rc-conf

The following NEW packages will be installed:
libcurses-perl libcurses-ui-perl sysv-rc-conf

sealinger:~# sysv-rc-conf –list

apache2      0:off      1:off   2:off   3:off   4:off   5:off 6:off

sealinger:~# sysv-rc-conf apache2 onsealinger:~# sysv-rc-conf –list apache2

apache2      0:off      1:off   2:on    3:on    4:on    5:on 6:off

3) chkconfig :

也有跟 RedHat 和 Mandriva 一样的chkconfig工具(不过有瑕疵):

sealinger:~# dpkg -l |grep chkconfigsealinger:~# apt-cache search chkconfig

chkconfig – system tool to enable or disable system services

sealinger:~# apt-get install chkconfig

The following NEW packages will be installed:chkconfig insserv

不过经试用有点问题,毕竟不是原生的,还是用 sysv-rc-conf 的好。

sealinger:~# chkconfig apache2

apache2  off

sealinger:~# chkconfig apache2 on //命令没有生效:

insserv: warning: script is corrupt or invalid: /etc/init.d/../rc6.d/S00vzreboot

我还是把它卸载了:

sealinger:~# apt-get autoremove chkconfig

The following packages were automatically installed and are no longer required:
insserv
The following packages will be REMOVED:
chkconfig insserv

PS:相比remove,autoremove参数会连同不需要的依赖包一起卸载。

2、添加一个服务 update-rc.d

类似 RedHat 的 chkconfig –add 方式。

比如你已经将一个nginx的启动脚本放在了 /etc/init.d/ 下:

sealinger:/etc/init.d# mv nginxctl nginxsealinger:/etc/init.d# update-rc.d -h

usage: update-rc.d [-n] [-f] <basename> remove
update-rc.d [-n] <basename> defaults [NN | SS KK]
update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
-n: not really
-f: force

sealinger:/etc/init.d# update-rc.d nginx defaults

Adding system startup for /etc/init.d/nginx …
/etc/rc0.d/K20nginx -> ../init.d/nginx
/etc/rc1.d/K20nginx -> ../init.d/nginx
/etc/rc6.d/K20nginx -> ../init.d/nginx
/etc/rc2.d/S20nginx -> ../init.d/nginx
/etc/rc3.d/S20nginx -> ../init.d/nginx
/etc/rc4.d/S20nginx -> ../init.d/nginx
/etc/rc5.d/S20nginx -> ../init.d/nginx

Debian初学者笔记(1)

Debian 计划

刚刚安装完系统(Debian GNU/Linux 5.0),可以进行如下操作:

1、先更新系统

# apt-get update# apt-get upgrade (apt-get dist-upgrade 更好一些)

注:更新源的配置在 /etc/apt/sources.list 文件。

2、vi的一些配置

Debian不像红帽那样人性化,红帽把很多常用的配置都设置好了,装完系统或rpm包后直接用就可以,马上可以上手。而Debian则需要我们手动配置一下,可能这正体现了Linux的自由性,决定权在你!

# vim /etc/vim/vimrc打开 syntax on ,并添加一行  set hlsearch 。

3、添加用户时注意加 -m, –create-home 参数,以便为你自动建立家目录和一些配置文件

# useradd -m yourname# su – yourname$ ls -a.  ..  .bash_logout  .bashrc  .profile

4、用户环境设置

1)root用户

# cd ~; vi .bashrc # 打开相应注释

# ~/.bashrc: executed by bash(1) for non-login shells.

export PS1=’\h:\w\$ ‘
umask 022

# You may uncomment the following lines if you want `ls’ to be colorized:
export LS_OPTIONS=’–color=auto’
eval “`dircolors`”
alias ls=’ls $LS_OPTIONS’
alias ll=’ls $LS_OPTIONS -l’
alias l=’ls $LS_OPTIONS -lA’
#
# Some more alias to avoid making mistakes:
alias rm=’rm -i’
alias cp=’cp -i’
alias mv=’mv -i’

2)普通用户

$ cd ~; vi .bashrc //按需打开

# some more ls aliases
alias ll=’ls -l’
#alias la=’ls -A’
#alias l=’ls -CF’

5、安装开发工具包

Debian安装完后,是个最基本的系统,可能没有包含开发工具包(如gcc,make等)。

# apt-get install build-essential

The following NEW packages will be installed:build-essential cpp cpp-4.3 dpkg-dev g++ g++-4.3 gcc gcc-4.3 libc6-dev libgmp3c2 libgomp1
libmpfr1ldbl libstdc++6-4.3-dev linux-libc-dev patch

6、安装PHP、MySQL

这里仅示例查找软件名称和安装的方法,需要安装哪些包,由你自己的需求决定。

1)安装PHP:

sealinger:~# apt-cache search php5然后自己查看需要的包的名字,安装即可。

sealinger:~# apt-get install php5-cgi

The following NEW packages will be installed:php5-cgi php5-common
2)安装MySQL:

sealinger:~# apt-get install mysql-server mysql-client php5-mysql

The following NEW packages will be installed:libdbd-mysql-perl libhtml-template-perl libterm-readkey-perl mysql-client mysql-client-5.0 mysql-server mysql-server-5.0 php5-mysql