此文出自 http://blog.s135.com/page/1/10/
下载:http://www.ntp.org/downloads.html
         tar zxvf ntp-4.2.6.tar.gz
         ./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
         make && make install
 原文链接:http://blog.s135.com/post/359
一个shell脚本,可以在同一台Linux服务器的不同端口,运行多个MySQL服务的情况下,快捷启动、停止、重启、杀死指定端口的MySQL进程。

vi /usr/local/bin/mysql.sh

  输入以下内容(因各服务器的MySQL配置不同,可能需要修改的部分已用着重号标注):
#!/bin/sh

mysql_port=$2
mysql_username="root"
mysql_password="123456"

function_start_mysql()
{
    printf "Starting MySQL...\n"
    /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/mysql/${mysql_port}/my.cnf 不换行空格2>&1 > /dev/null &
}

function_stop_mysql()
{
    printf "Stoping MySQL...\n"
    /usr/local/mysql/bin/mysqladmin -u ${mysql_username} -p${mysql_password} -h localhost不换行空格 -P ${mysql_port} shutdown
}

function_restart_mysql()
{
    printf "Restarting MySQL...\n"
    function_stop_mysql
    function_start_mysql
}

function_kill_mysql()
{
    kill -9 $(ps -ef | grep 'bin/mysqld_safe' | grep ${mysql_port} | awk '{printf $2}')
    kill -9 $(ps -ef | grep 'libexec/mysqld' | grep ${mysql_port} | awk '{printf $2}')
}

if [ "$1" = "start" ]; then
    function_start_mysql
elif [ "$1" = "stop" ]; then
    function_stop_mysql
elif [ "$1" = "restart" ]; then
    function_restart_mysql
elif [ "$1" = "kill" ]; then
    function_kill_mysql
else
    printf "Usage: mysql.sh {start|stop|restart|kill}\n"
fi


  赋予脚本可执行权限:
chmod +x /usr/local/bin/mysql.sh


  脚本执行方法:
mysql.sh start 3306
mysql.sh stop 3306
mysql.sh restart 3306
mysql.sh kill 3306
如果其他服务器的ftp不允许匿名访问,在linux下要下载服务器上的东西,推荐一款好的linux ftp下载客户端软件ncftp
下载地址:
wget ftp://ftp.ncftp.com/ncftp-3.2.3-src.tar.gz
安装:
tar zxvf ncftp-3.2.2-src.tar.gz
cd ncftp-3.2.2/
./configure --prefix=/usr/local/ncftp
原文链接:http://blog.s135.com/linux_ext3_undelete/

 1、先安装ext3grep软件:
wget http://ext3grep.googlecode.com/files/ext3grep-0.10.1.tar.gz
tar zxvf ext3grep-0.10.1.tar.gz
cd ext3grep-0.10.1
./configure
make
make install


  2、umount /data0分区:
umount /data0

  如果提示busy,先kill正在使用这个目录的进程,再umount:
fuser -k /data0
umount /data0


  3、查询所有Inode,(执行需要几分钟~十多分钟):
ext3grep /dev/sdb1 --ls --inode 2
点击在新窗口中浏览此图片
  

  4、逐级查找Inode,看是否能找到httpcws.cpp文件(此步骤也可省略):


点击在新窗口中浏览此图片
点击在新窗口中浏览此图片 

  5、恢复/data0/tcsql/cankao/phpcws-1.5.0/httpcws.cpp文件:
ext3grep /dev/sdb1 --restore-file tcsql/cankao/phpcws-1.5.0/httpcws.cpp

点击在新窗口中浏览此图片

  如果提示以下信息,则表示恢复成功:
  Restoring tcsql/cankao/phpcws-1.5.0/httpcws.cpp

  这时,执行ext3grep命令的当前目录下将会自动生成一个名为RESTORED_FILES的文件夹,文件夹下的tcsql/cankao/phpcws-1.5.0/httpcws.cpp即为恢复的文件。查看了一下,和被删除前的内容一样,大功告成。


  6、重新mount /data0分区:
mount /dev/sdb1 /data0

路由器配置DHCP服务器

[| 不指定 2009/12/21 14:58]
此文 转载于  http://itcisco2009.blog.51cto.com/714329/183173
Cisco路由器上配置DHCP全程详解
【IT168 专稿】某单位使用Cisco 3620作为IOS DHCP Server,它和内网相连的fastethernet0端口的IP地址为192.168.1.4,二层交换机采用两台Cisco 2950,三层交换机采用一台Cisco 3550。
    在整个网络中有二个VLAN,为简化描述,假设每个VLAN都采用24位网络地址,其中VLAN1的IP地址为192.168.1.254,VLAN2的IP地址为192.168.2.254。在Cisco设备上实现IOS DHCP Server功能以使各VLAN中的主机自动获得IP地址,如下图所示。
点击在新窗口中浏览此图片
配置DHCP地址池、附加信息以及租约期限
DHCP服务器的数据库被组织成一个树形结构,树根是用于动态分配的所有网络段的地址池,树枝是子网地址池,树叶是手工绑定给节点的地址。具体操作步骤如下:
    首先登陆到Cisco 3640路由器上:
    ghq>enable
    Password  (输入路由器的特权口令)
    ghq #config terminal (进入配置模式)
    Enter configuration commands one per line.  End with CNTL/Z.
    ghqconfig # ip dhcp pool global(配置一个根地址池,global是地址池的名称,你可以采用有意义的字符串来表示)
    ghq dhcp-config #network 192.168.0.0 255.255.0.0(动态分配的地址段)
    ghqdhcp-config #domain-name ghq.com(为客户机配置域后缀)
    ghqdhcp-config #dns-server 192.168.1.1(为客户机配置DNS服务器)
    ghqdhcp-config #netbios-name-server 192.168.1.1(为客户机配置wins服务器)
    ghqdhcp-config #netbios-node-type h-node(为客户机配置h节点模式)
    ghqdhcp-config #lease 30 (地址租用期为30天)
    ghqdhcp-config #ip dhcp pool vlan1 (为VLAN1配置地址池,本池是global池的子池,将从global继承域后缀、DNS服务器、wins服务器等参数)
    ghqdhcp-config #network 192.168.1.0 255.255.255.0 (VLAN1动态分配192.168.1这个网段内可以被分配的地址,没有被排除的地址) 
    ghqdhcp-config#default-router 192.168.1.254 (为客户机配置默认的网关,即VLAN1的IP地址)
    ghqdhcp-config #ip dhcp pool vlan2 (为VLAN2配置地址池,本池是global池的子池,将从global继承域后缀、DNS服务器、wins服务器等可继承的参数)
    ghqdhcp-config#network 192.168.2.0 255.255.255.0
    ghqdhcp-config #default-router 192.168.2.254
设置不能用于动态分配的IP地址
在整个网络中,有些IP地址需要静态的指定给一些特定的设备,例如路由器的端口、DNS服务器、wins服务器以及VLAN的地址等。显然,这些静态IP地址是不能用于动态分配的,这就需要将它们排除掉。其步骤如下:
    ghqconfig #ip dhcp excluded-address 192.168.1.1 192.168.1.5  (IP地址       192.168.1.1至192.168.1.5不能用于动态分配)
    ghqconfig # ip dhcp excluded-address 192.168.1.254
    (IP地址192.168.1.254固定为VLAN1的地址,不能用于动态分配)
    ghqconfig # ip dhcp excluded-address 192.168.2.254
    (IP地址192.168.2.254固定为VLAN2的地址,不能用于动态分配)
设置DHCP数据库代理
DHCP数据库代理是用于存储DHCP绑定信息的一台主机,它可以是FTP、TFTP或者是RCP服务器。当然,如有必要,你可以配置多个DHCP数据库代理。同样,不配置DHCP数据库代理也是允许的,但这是以不能在DHCP数据库代理上存储地址冲突日志为代价的。如果我们不想配置数据库代理,只要取消掉地址冲突日志的记录功能即可,操作命令如下:
    ghqconfig # no ip dhcp conflict logging (取消地址冲突记录日志)
配置路由器的静态路由表
要使客户机能从用作DHCP Server的路由器中自动获得IP地址,首要条件就是各个VLAN中的客户机都能和路由器通信,因此首先就需要在路由器中设置一个路由以使路由器能和各个客户机通信。我们可以按如下设置:
    ghqconfig #ip route 192.168.1.0 255.255.255.0 FastEthernet0
(FastEthernet0为路由器和内网相连的以太网接口,该命令的作用是在以太网接口和VLAN1 192.168.1.254间建立一条静态路由。)
    ghqconfig #ip route 192.168.2.0 255.255.255.0 FastEthernet0
(该命令在以太网接口和VLAN2 192.168.2.254间建立一条静态路由)
    设置好之后,在配置模式中键入EXIT命令回到特权模式下,Ping一下VLAN1和VLAN2的IP地址192.168.1.254和192.168.2.254 ,如果能够Ping通则表明配置正确,可以直接进入下一步的保存过程。
在交换机上为不同的VLAN指定DHCP服务器地址
这一步骤只须在不同的VLAN中通过设置IP HELPER-ADDRESS即可搞定,指令如下:
    switch>enable  (进入交换机的特权模式)
    Password
    switch #config t (进入配置模式)
    Enter configuration commandsone per line.  End with CNTL/Z.
    switch config #interface vlan1 (配置VLAN1)
    switch config-if #ip helper-address 192.168.1.4(指定DHCP服务器的地址,即路由器的地址)
    ghqconfig-if #interface vlan2 (配置VLAN2)
    ghqconfig-if #ip helper-address 192.168.1.4
对所有直接连到客户机的二层访问端口开启Portfast功能
要使客户机正确获得IP地址,就需要将和客户机相连的交换机端口的Portfast功能打开(Cisco 2950)。这里需要特别注意的是,只能在连接一个单一客户机的二层端口上开启该功能,如果在一个连接到交换机或集线器的端口上开启该功就有可能引起广播风暴或“地址学习”问题。开启Portfast功能的步骤如下:
    switch #configure terminal
    switch config #interface interface-id
    switch config-if #spanning-tree portfast (开启portfast功能)
    switchconfig-if  #end


客服端 配置自动获取地址就OK了
原文链接:http://blog.s135.com/nginx_php_v5/#entrymore

安装步骤:(Linux 2.6+ 内核,Linux操作系统为CentOS 5.3)
一、获取相关开源程序:
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers  这些包最好是在安装系统的时候一并安装好,以下是 所需的程序源码包
wget http://sysoev.ru/nginx/nginx-0.8.15.tar.gz
wget http://www.php.net/get/php-5.2.10.tar.gz/from/this/mirror
wget http://blog.s135.com/soft/linux/nginx_php/phpfpm/php-5.2.10-fpm-0.5.11.diff.gz
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.38.tar.gz/from/http://mysql.he.net/
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0"
wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&big_mirror=0"
wget http://pecl.php.net/get/memcache-2.2.5.tgz
wget "http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=1175740843&big_mirror=0"
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.gz
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
wget http://blog.s135.com/soft/linux/nginx_php/imagick/ImageMagick.tar.gz
wget http://pecl.php.net/get/imagick-2.2.2.tgz
也可以在以下地址下载
wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.8.15.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/php/php-5.2.10.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/phpfpm/php-5.2.10-fpm-0.5.11.diff.gz
wget http://blog.s135.com/soft/linux/nginx_php/mysql/mysql-5.1.38.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/libiconv/libiconv-1.13.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/memcache/memcache-2.2.5.tgz
wget http://blog.s135.com/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-7.9.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/eaccelerator/eaccelerator-0.9.5.3.tar.bz2
wget http://blog.s135.com/soft/linux/nginx_php/pdo/PDO_MYSQL-1.0.2.tgz
wget http://blog.s135.com/soft/linux/nginx_php/imagick/ImageMagick.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/imagick/imagick-2.2.2.tgz

二、安装PHP 5.2.10(FastCGI模式)
1、编译安装PHP 5.2.10所需的支持库:
tar zxvf libiconv-1.13.tar.gz
cd libiconv-1.13/
./configure --prefix=/usr/local
make
make install
cd ../

tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../

tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install
cd ../

ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1

tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
make
make install

2、编译安装MySQL 5.1.38
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar zxvf mysql-5.1.38.tar.gz
cd mysql-5.1.38/
./configure --prefix=/usr/local/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase
make && make install
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

/usr/local/mysql/bin/mysql_install_db --user=mysql &
/usr/local/msyql/bin/mysql_sate --user=msyql &

3、编译安装PHP(FastCGI模式)
tar zxvf php-5.2.10.tar.gz
gzip -cd php-5.2.10-fpm-0.5.11.diff.gz | patch -d php-5.2.10 -p1
cd php-5.2.10/
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --mandir=/usr/share/man --with-zlib --with-snmp --enable-ucd-snmp-hack --with-libxml-dir --enable-ftp --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-ttf --enable-dba --enable-dbase --enable-calendar --enable-sockets --enable-sysvsem --enable-sigchild --enable-roxen-zts --enable-fastcgi --enable-force-cgi-redirect --enable-fpm --with-curl --enable-shmop --enable-mbstring --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-config-file-path=/usr/local/php5/etc --disable-ipv6 --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --enable-pdo --with-pdo-sqlite --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --with-mcrypt --enable-mbregex --enable-fastcgi --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --without-pear --enable-inline-optimization --enable-discard-path --with-curlwrappers --enable-xml --enable-bcmath --with-mhash  
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-dist /usr/localr/php5/etc/php.ini
cd ../
curl http://pear.php.net/go-pear | /usr/local/php5/bin/php (此步是安装pear,因为上面的编译参数不能加--with-pear ,加了会报错,)

4、编译安装PHP5扩展模块

tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/
/usr/local/php5/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config
make
make install
cd ../

tar jxvf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3/
/usr/local/php5/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php5/bin/php-config
make
make install
cd ../

tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2/
/usr/local/php5/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config --with-pdo-mysql=/usr/local/mysql  出现configure: error: Cannot find php_pdo_driver.h. 错误 解决方法:把解压php包出来的pdo目录打包解压到/usr/local/php5/include/php/ext/目录下就可以了。
make
make install
cd ../

tar zxvf ImageMagick.tar.gz
cd ImageMagick-6.5.1-2/
./configure
make
make install
cd ../

tar zxvf imagick-2.2.2.tgz
cd imagick-2.2.2/
/usr/local/php5/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config
make
make install

5、修改php.ini文件

  手工修改:查找/usr/local/php5/etc/php.ini中的extension_dir = "./"
  修改为extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/"
  并在此行后增加以下几行,然后保存:
  extension = "memcache.so"
  extension = "pdo_mysql.so"
  extension = "imagick.so"

  再查找output_buffering = Off
  修改为output_buffering = On


6、配置eAccelerator加速PHP:
mkdir -p /usr/local/eaccelerator_cache
vi /usr/local/php5/etc/php.ini 在最后面加上以下内容

[eaccelerator]
zend_extension="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/usr/local/eaccelerator_cache"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

7、创建www用户和组,以及供blog.www.net和www.www.net两个虚拟主机使用的目录:

/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
mkdir -p /var/www/blog
chmod +w /var/www/blog
chown -R www:www /var/www/blog
mkdir -p /var/www/bbs
chmod +w /var/www/bbs
chown -R www:www /var/www/bbs

8、创建php-fpm配置文件(php-fpm是为PHP打的一个FastCGI管理补丁,可以平滑变更php.ini配置而无需重启php-cgi):

rm -f /usr/local/php5/etc/php-fpm.conf
vi /usr/local/php5/etc/php-fpm.conf

输入以下内容(如果您安装 Nginx + PHP 用于程序调试,请将以下的0改为1,以便显示PHP错误信息,否则,Nginx 会报状态为500的空白错误页):


去掉 每行的#注释符号 用vim 编辑这个文件  然后用正规 %s/^#//g
 
9、启动php-cgi进程,监听127.0.0.1的9000端口,进程数为200(如果服务器内存小于3GB,可以只开启64个进程),用户为www:
ulimit -SHn 65535
/usr/local/webserver/php/sbin/php-fpm start
 注:/usr/local/webserver/php/sbin/php-fpm还有其他参数,包括:start|stop|quit|restart|reload|logrotate,修改php.ini后不重启php-cgi,重新加载配置文件使用reload。

三、安装Nginx 0.8.15
1、安装Nginx所需的pcre库:
tar zxvf pcre-7.9.tar.gz
cd pcre-7.9/
./configure
make && make install
cd ../

2、安装Nginx
tar zxvf nginx-0.8.15.tar.gz
cd nginx-0.8.15/
./configure --user=www --group=www --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin/nginx --with-http_gzip_static_module --with-http_stub_status_module --with-md5-asm --with-sha1-asm --with-zlib-asm=pentiumpro --with-http_addition_module --error-log-path=/var/log/nginx/error.log --conf-path=/usr/local/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi
make && make install
cd ../

3、创建Nginx日志目录
mkdir -p /var/log/nginx
chmod +w /var/log/nginx
chown -R www:www /var/log/nginx

4、创建Nginx配置文件

①、在/usr/local/nginx/conf/目录中创建nginx.conf文件:
rm -f /usr/local/nginx/conf/nginx.conf
vi /usr/local/nginx/conf/nginx.conf


user  www www;

worker_processes 8;

error_log  /var/log/nginx/nginx_error.log  crit;

pid        /usr/local/nginx/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;

events
{
  use epoll;
  worker_connections 65535;
}

http
{
  include       mime.types;
  default_type  application/octet-stream;

  #charset  gb2312;
      
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 8m;
      
  sendfile on;
  tcp_nopush     on;

  keepalive_timeout 60;

  tcp_nodelay on;

  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 128k;

  gzip on;
  gzip_min_length  1k;
  gzip_buffers     4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_types       text/plain application/x-javascript text/css application/xml;
  gzip_vary on;

  #limit_zone  crawler  $binary_remote_addr  10m;

  server
  {
    listen       80;
    server_name  blog.www.net;
    index index.html index.htm index.php;
    root  /data0/htdocs/blog;

    #limit_conn   crawler  20;    
                            
    location ~ .*\.(php|php5)?$
    {      
      #fastcgi_pass  unix:/tmp/php-cgi.sock;
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
      expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
      expires      1h;
    }    

    log_format  blogaccess  '$remote_addr - $remote_user [$time_local] "$request" '
              '$status $body_bytes_sent "$http_referer" '
              '"$http_user_agent" $http_x_forwarded_for';
    access_log  /var/log/nginx/blogaccess.log  blogaccess;
      }

  server
  {
    listen       80;
    server_name  bbs.www.net;
    index index.html index.htm index.php;
    root  /data0/htdocs/www;

    location ~ .*\.(php|php5)?$
    {      
      #fastcgi_pass  unix:/tmp/php-cgi.sock;
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
    }

    log_format  bbslogs  '$remote_addr - $remote_user [$time_local] "$request" '
               '$status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" $http_x_forwarded_for';
    access_log  /var/log/nginx/bbslogs.log  bbslogs;
  }

  server
  {
    listen  80;
    server_name  status.www.net;

    location / {
    stub_status on;
    access_log   off;
    }
  }
}

 ②、在/usr/local/webserver/nginx/conf/目录中创建fcgi.conf文件:
  vi /usr/local/nginx/conf/fcgi.conf

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

5、启动Nginx
ulimit -SHn 65535
/usr/local/nginx/sbin/nginx

四、配置开机自动启动Nginx + PHP

vi /etc/rc.local

ulimit -SHn 65535
/usr/local/php5/sbin/php-fpm start
/usr/local/nginx/sbin/nginx

五、优化Linux内核参数

vi /etc/sysctl.conf

net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog =  32768
net.core.somaxconn = 32768

net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2

net.ipv4.tcp_tw_recycle = 1
#net.ipv4.tcp_tw_len = 1
net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800

#net.ipv4.tcp_fin_timeout = 30
#net.ipv4.tcp_keepalive_time = 120
net.ipv4.ip_local_port_range = 1024  65535


使配置立即生效:
/sbin/sysctl -p

六、在不停止Nginx服务的情况下平滑变更Nginx配置
1、修改/usr/local/webserver/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:
/usr/local/webserver/nginx/sbin/nginx -t

  如果屏幕显示以下两行信息,说明配置文件正确:
  the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
  the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully

  2、这时,输入以下命令查看Nginx主进程号:
ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'

  屏幕显示的即为Nginx主进程号,例如:
  6302
  这时,执行以下命令即可使修改过的Nginx配置文件生效:
kill -HUP 6302

  或者无需这么麻烦,找到Nginx的Pid文件:
kill -HUP `cat /usr/local/webserver/nginx/nginx.pid`


七、编写每天定时切割Nginx日志的脚本
  1、创建脚本/usr/local/nginx/sbin/cut_nginx_log.sh
vi /usr/local/nginx/sbin/cut_nginx_log.sh

#!/bin/bash
# This script run at 00:00

# The Nginx logs path
logs_path="/usr/local/nginx/logs/"

mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/nginx.pid`

2、设置crontab,每天凌晨00:00切割nginx访问日志

vim /etc/crontab

00 00 * * * /bin/bash  /usr/local/nginx/sbin/cut_nginx_log.sh






从sql server 2000升级到2005有5种方法:


l直接升级


l利用detach/attach功能移动sql  server 2000的数据库到2005


l通过backup/restore功能来迁移db


l通过sql server 2005的database copy wizard来拷贝数据库


l通过dts的export/import工具来迁移数据到sql server 2005





1.第一种方法(直接升级):


适合: 数据量比较大的数据库.


方法: 在sql server 2000数据库所在的机器启动sql server 2005的安装程序,setup程序会自动检测是否有前一版本的sql server instance,并提示你可以直接升级到2005.安装程序会启动升级向导,我们只要根据升级向导的提步一步步操作就可以完成从sql server 2000到2005的整个升级过程.


优点: 无需重新规划数据库,升级快速.升级程序会自动将sql server的各个组件升级到2005,并把一些实例参数改成sql server 2005相适宜.保留原有sql server 2000的所有结构,包括user,role,login,权限设置等,无需重新设置.


缺点: 直接升级的方法存在一定的风险.万一升级失败有可能会导致原有的数据库不可用.所以我们在直接升级前先有做一些升级前的准备和检查工作.ms提供一个工具可以作升级前的检查及根据检查结果给出相关建议,这个工具就是:upgrade advisor.这个工具包含在sql server 2005的产品光盘中,如果没有可以到ms的网站下载.’


      谨记,直接升级前一定要备份原有数据库的所有文件,如数据文件和日志文件,以确保万一升级失败还可以恢复,不致于中断业务.



IT成本: 除了sql server 2005对一些软件的要求高一些以外(如必须安装.net framework 2.0以上),硬件上不需作太多的追加投资,当然,硬件性能好一些的话,更适合sql server 2005的运行.



2.第二种方法(detach/attach):


方法: 先将数据库从sql server 2000中detach,然后将数据文件和日志文件拷到sql server 2005所在的机器,然后attach上去.这各方法实际上是移动数据库到sql server 2005


优点: 这种方法比较安全.万一attach不上去,还可以用原来的数据库



缺点: 用户如果数据库比较多的话,得一个一个的move



3.第三种方法(backup/restore):


适合:  此种方法适合中小规模的数据库升级


方法:  先将sql server 2000的db备份出来,然后将备份文件restore至新的sql server 2005实例中.


优点:  安全.在新的db测试通过,就可以删除旧的db,如果测试通不过,还可以撤换回原来的数据库,不至于中止业务



缺点:  升级的时间可能会稍长一些.因为备份和恢复都需要一段时间.



4.第四种方法(利用database copy向导):


适合: 中小规模的数据库


方法: sql server 2005中有一个实用工具叫做数据库拷贝向导:在管理控制台à右击à选taskà选database copy wizard 这样就启动了数据库拷贝向导,然后按照向导的提步操作就可以将sql server 2000的数据库复制到sql server 2005.


优点: 安全.操作方便简易.



缺点: 速度慢一些.



5.第五种方法(export/import):


方法: 利用sql server的导入导出实用工具来迁移数据.实际上这种方法我是不推荐的,因为导入导出速度非常慢,而且这种方法只是迁移数据,不迁移master等系统数据库的和实例的配置.
分页: 7/13 第一页 上页 2 3 4 5 6 7 8 9 10 11 下页 最后页 [ 显示模式: 摘要 | 列表 ]