标签归档:服务器

WIN2003系统服务器环境搭建教程

 Windows 2003 6+PHP5+MySQL5+Zend环境搭建图文教程 最新新手教程一、系统约定 环境软件下载后存放位置:D:\ServerSoft环境软件安装位置:D:\ServerRoot PHP安装位置:D:\ServerRoot\PHP MySQL安装位置:D:\ServerRoot\MySQLZend Optimizer安装位置:D:\ServerRoot\Zend IIS网站站点根目录:D:\wwwroot MySQL数据库位置:D:\ServerRoot\DatabasePhp.ini存放位置:C:\Windows\php.ini My.ini存放位置:D:\ServerRoot\MySQL\my.ini二、系统环境检查以及准备所需软件1.检查系统是否已安装IIS 单击:"开始"-"管理工具",检查是否存在" Internet信息服务()管理器" 

2.查看磁盘分区容量并确定使用策略打开"我的电脑",查看除C区外各个磁盘

 

 

真郁闷,有个破服务器经常蓝屏

事件类型: 错误
事件来源: System Error
事件种类: (102)
事件 ID: 1003
日期:  2008-11-28
事件:  10:59:55
用户:  N/A
计算机: ZG-IBM
描述:
错误代码 0000000a,参数1 0a0a0019,参数2 d0000002,参数3 00000001,参数4 8082ba42。

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
数据:
0000: 53 79 73 74 65 6d 20 45   System E
0008: 72 72 6f 72 20 20 45 72   rror  Er
0010: 72 6f 72 20 63 6f 64 65   ror code
0018: 20 30 30 30 30 30 30 30    0000000
0020: 61 20 20 50 61 72 61 6d   a  Param
0028: 65 74 65 72 73 20 30 61   eters 0a
0030: 30 61 30 30 31 39 2c 20   0a0019,
0038: 64 30 30 30 30 30 30 32   d0000002
0040: 2c 20 30 30 30 30 30 30   , 000000
0048: 30 31 2c 20 38 30 38 32   01, 8082
0050: 62 61 34 32               ba42

经常上面稍微操作下就会出现蓝屏的情况,也不知道啥问题,有可能估计主要是内容新加过,其他都是原来的硬件,不知道是不是和这个有关。郁闷

从服务器的记录寻找黑客的蛛丝马迹

当服务器被攻击时,最容易被人忽略的地方,就是记录文件,服务器的记录文件了黑客活动的蛛丝马迹。在这里,我为大家介绍一下两种常见的网页服务器中最重要的记录文件,分析服务器遭到攻击后,黑客在记录文件中留下什么记录。 
  
目前最常见的网页服务器有两种:Apache和微软的Internet Information Server (简称IIS)。这两种服务器都有一般版本和SSL认证版本,方便黑客对加密和未加密的服务器进行攻击。
  
IIS的预设记录文件地址在 c:winntsystem32logfilesw3svc1的目录下,文件名是当天的日期,如yymmdd.log。系统会每天产生新的记录文件。预设的格式是W3C延伸记录文件格式(W3C Extended Log File Format),很多相关软件都可以解译、分析这种格式的档案。记录文件在预设的状况下会记录时间、客户端IP地址、method(GET、POST等)、URI stem(要求的资源)、和HTTP状态(数字状态代码)。这些字段大部分都一看就懂,可是HTTP状态就需要解读了。一般而言,如果代码是在200到299代表成功。常见的200状态码代表符合客户端的要求。300到399代表必须由客户端采取动作才能满足所提出的要求。400到499和500到599代表客户端和服务器有问题。最常见的状态代码有两个,一个是404,代表客户端要求的资源不在服务器上,403代表的是所要求的资源拒绝服务。Apache记录文件的预设储存位置在/usr/local/apache/logs。最有价值的记录文件是access_log,不过 ssl_request_log和ssl_engine_log也能提供有用的资料。 access_log记录文件有七个字段,包括客户端IP地址、特殊人物识别符、用户名称、日期、Method Resource Protocol(GET、POST等;要求哪些资源;然后是协议的版本)、HTTP状态、还有传输的字节。
  
我在这里所用的是与黑客用的相似的模拟攻击网站方式和工具。(注意:在本文中所介绍的方法请大家不要试用,请大家自觉遵守网络准则!)

Nginx服务器安装与介绍

安装步骤:
  (系统要求:Linux 2.6+ 内核,本文中的Linux操作系统为CentOS 4.4)

  一、获取相关开源程序:
  1、下载程序源码包到当前目录:
  本文中提到的所有开源软件为截止到2007年11月25日的最新稳定版。我将它们打了两个压缩包。

  第一个压缩包:nginx-php-1.zip
  下载地址:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=2746375

  第二个压缩包:nginx-php-2.zip
  下载地址:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=2746370

  附:各开源软件单独下载地址(如果下载了以上两个压缩包,则无需下载以下软件):
  http://down.s135.com/linux/nginx-php/ (登录用户名、密码均为blog.s135.com)

  2、解压缩:

mkdir -p /data0/software
cd /data0/software
unzip nginx-php-1.zip
unzip nginx-php-2.zip
cd /data0/software/nginx-php

  二、安装PHP 5.2.5(FastCGI模式)
  1、编译安装PHP 5.2.5所需的支持库:

tar zxvf libiconv-1.11.tar.gz
cd libiconv-1.11/
./configure –prefix=/usr/local
make
make install
cd ../

tar zxvf freetype-2.3.5.tar.gz
cd freetype-2.3.5/
./configure
make
make install
cd ../

tar zxvf libpng-1.2.20.tar.gz
cd libpng-1.2.20/
./configure
make
make install
cd ../

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure –enable-static –enable-shared
make
make install
make install-lib
cd ../

tar zxvf libxml2-2.6.30.tar.gz
cd libxml2-2.6.30/
./configure
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.tar.gz
cd mhash-0.9.9/
./configure
make
make install
cd ../

cp /usr/local/lib/libmcrypt.* /usr/lib
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2

tar zxvf mcrypt-2.6.6.tar.gz
cd mcrypt-2.6.6/
./configure
make
make install
cd ../

  2、编译安装MySQL 5.0.45

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar zxvf mysql-5.0.45.tar.gz
cd mysql-5.0.45
./configure –prefix=/usr/local/webserver/mysql/ –without-debug –with-unix-socket-path=/tmp/mysql.sock –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –enable-assembler –with-extra-charsets=gbk,gb2312,utf8 –with-pthread –enable-thread-safe-client
make && make install
chmod +w /usr/local/webserver/mysql
chown -R mysql:mysql /usr/local/webserver/mysql
cp support-files/my-medium.cnf /usr/local/webserver/mysql/my.cnf
cd ../

  附:以下为附加步骤,如果你想在这台服务器上运行MySQL数据库,则执行以下两步。如果你只是希望让PHP支持MySQL扩展库,能够连接其他服务器上的MySQL数据库,那么,以下两步无需执行。
  ①、以mysql用户帐号的身份建立数据表:

/usr/local/webserver/mysql/bin/mysql_install_db –defaults-file=/usr/local/webserver/mysql/my.cnf –basedir=/usr/local/webserver/mysql –datadir=/usr/local/webserver/mysql/data –user=mysql –pid-file=/usr/local/webserver/mysql/mysql.pid –skip-locking –port=3306 –socket=/tmp/mysql.sock

  ②、启动MySQL(最后的&表示在后台运行)

/bin/sh /usr/local/webserver/mysql/bin/mysqld_safe –defaults-file=/usr/local/webserver/mysql/my.cnf &

  3、编译安装PHP(FastCGI模式)

tar zxvf php-5.2.5.tar.gz
cd php-5.2.5/
./configure –prefix=/usr/local/webserver/php –with-config-file-path=/usr/local/webserver/php/etc –with-mysql=/usr/local/webserver/mysql –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir –enable-xml –disable-debug –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fastcgi –enable-force-cgi-redirect –enable-mbstring –with-mcrypt
sed -i 's#-lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt#& -liconv#' Makefile
make
make install
cp php.ini-dist /usr/local/webserver/php/etc/php.ini
cd ../

  4、编译安装PHP5扩展模块

tar zxvf memcache-2.2.1.tgz
cd memcache-2.2.1/
/usr/local/webserver/php/bin/phpize
./configure –with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
cd ../

cd php-5.2.5/ext/gd/
/usr/local/webserver/php/bin/phpize
./configure –with-jpeg-dir –with-png-dir –with-zlib-dir –with-ttf –with-freetype-dir –with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
cd ../../../

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

  自动修改:若嫌手工修改麻烦,可执行以下shell命令,自动完成对php.ini文件的修改:

sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension = "memcache.so"
extension = "gd.so"
#' /usr/local/webserver/php/etc/php.ini

  6、创建www用户和组,以及其使用的目录:

/usr/sbin/groupadd www -g 48
/usr/sbin/useradd -u 48 -g www www
mkdir -p /data0/vshare/htdocs
chmod +w /data0/vshare/htdocs
chown -R www:www /data0/vshare/htdocs

  7、安装lighttpd中附带的spawn-fcgi,用来启动php-cgi
  注:压缩包中的spawn-fcgi程序为已经编译成二进制的版本。

cp spawn-fcgi /usr/local/webserver/php/bin
chmod +x /usr/local/webserver/php/bin/spawn-fcgi

  8、启动php-cgi进程,监听127.0.0.1的10080端口,进程数为64(如果服务器内存小于3GB,可以只开启25个进程),用户为www:

/usr/local/webserver/php/bin/spawn-fcgi -a 127.0.0.1 -p 10080 -C 64 -u www -f /usr/local/webserver/php/bin/php-cgi

  三、安装Nginx 0.5.33
  1、安装Nginx所需的pcre库:

tar zxvf pcre-7.2.tar.gz
cd pcre-7.2/
./configure
make && make install
cd ../

  2、安装Nginx

tar zxvf nginx-0.5.33.tar.gz
cd nginx-0.5.33/
./configure –user=www –group=www –prefix=/usr/local/webserver/nginx –with-http_stub_status_module
make && make install
cd ../

  3、创建Nginx日志目录

mkdir -p /data1/logs
chmod +w /data1/logs
chown -R www:www /data1/logs

  4、创建Nginx配置文件
  ①、在/usr/local/webserver/nginx/conf/目录中创建nginx.conf文件:

rm -f /usr/local/webserver/nginx/conf/nginx.conf
vi /usr/local/webserver/nginx/conf/nginx.conf

  输入以下内容:

引用
user www www;

worker_processes 10;

error_log /data1/logs/nginx_error.log crit;

#pid logs/nginx.pid;

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

events
{
use epoll;

worker_connections 51200;
}

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

charset gb2312;

server_names_hash_bucket_size 128;

#sendfile on;
#tcp_nopush on;

keepalive_timeout 60;

tcp_nodelay on;

gzip on;
gzip_min_length 1k;
gzip_buffers 4 8k;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css text/html application/xml;

server
{
listen 80;
server_name blog.s135.com;
index index.html index.htm index.php;
root /data0/vshare/htdocs;

if (-d $request_filename)
{
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}

location ~ .*.php?$
{
include conf/fcgi.conf;
fastcgi_pass 127.0.0.1:10080;
fastcgi_index index.php;
}

log_format access '$remote_addr – $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /data1/logs/access.log access;
}

server
{
listen 80;
server_name status.blog.s135.com;

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

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

vi /usr/local/webserver/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 51200
/usr/local/webserver/nginx/sbin/nginx -c /usr/local/webserver/nginx/conf/nginx.conf

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

vi /etc/rc.local

  在末尾增加以下内容:

引用
ulimit -SHn 51200
/usr/local/webserver/php/bin/spawn-fcgi -a 127.0.0.1 -p 10080 -C 64 -u www -f /usr/local/webserver/php/bin/php-cgi
/usr/local/webserver/nginx/sbin/nginx -c /usr/local/webserver/nginx/conf/nginx.conf

  五、优化Linux内核参数

vi /etc/sysctl.conf

  在末尾增加以下内容:

引用
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 5000 65000

  使配置立即生效:

/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

我的心和服务器同在

    不知道从什么时候起爱上了电脑,爱上了网络,更爱上了做网站。虽然没有在这个地方赚到什么钱,但是我的心确实已经深深的扎在了这里,无法自拔。虽然它没有带给我什么,但是我一直执着着,努力着。虽然它不知道是否有前途,但是我同样无法离开它。每当服务器的运行就像我心脏的跳动,因为只要服好好的,我的那没有人气的网站,同样可以运行,我把它当作是一个婴儿,我渴望着它成长,只有当服能稳定的运行时才能给它一个安定的加,就相当于它寄生与服务器上一样。每次服务器死机时,就相当于心脏停止了跳动,停止了给于网站流动的血液。当网站停止后,难道把它视为婴儿的我,我的心还不在滴血?当服停的时间越长我的血也就滴的越多。。
   所以服务器的稳定牵动着一个网站主人人的心,牵动着网站主人的生命。

如何提高WEB服务器IIS并发数效率/服务器性能优化

1. 启用HTTP的持续作用可以改善15~20%的执行效率。
2. 不启用记录可以改善5~8%的执行效率。
3. 使用 [独立] 的处理程序会损失20%的执行效率。
4. 增加快取记忆体的保存文档数量,可提高ActiveServer Pages之效能。
5. 勿使用CGI程式
6. 增加IIS 5.0电脑CPU数量。
7. 勿启用ASP侦错功能。
8. 静态网页采用HTTP 压缩,大约可以减少20%的传输量。
简单介绍如下
1、启用HTTP的持续作用
启用HTTP的持续作用(Keep-Alive)时,IIS与浏览器的连线不会断线,可以改善执行效率,直到浏览器关闭时连线才会断线。因为维持「Keep-Alive」状态时,于每次用户端请求时都不须重新建立一个新的连接,所以将改善服务器的效率。
此功能为HTTP 1.1预设的功能,HTTP 1.0加上Keep-Alive header也可以提供HTTP的持续作用功能。
2、启用HTTP的持续作用可以改善15~20%的执行效率。
如何启用HTTP的持续作用呢?步骤如下:
在 [Internet服务管理员] 中,选取整个IIS电脑、或Web站台,於 [内容] 之 [主目录] 页,勾选 [HTTP的持续作用] 选项。
3、不启用记录
不启用记录可以改善5~8%的执行效率。
如何设定不启用记录呢?步骤如下:
在 [Internet服务管理员] 中,选取整个IIS电脑、或Web站台,於 [内容] 之 [主目录] 页,不勾选 [启用记录] 选项。
设定非独立的处理程序
使用 [独立] 的处理程序会损失20%的执行效率,此处所谓「独立」系指将 [主目录]、[虚拟目录] 页之应用程式保护选项设定为 [高(独立的)] 时。因此 [应用程式保护] 设定为 [低 (IIS处理程序)]时执行效率较高,设定画面如下:
如何设定非「独立」的处理程序呢?步骤如下:
在 [Internet服务管理员] 中,选取整个IIS电脑、Web站台、或应用程式的起始目录。於 [内容] 之 [主目录]、[虚拟目录]页,设定应用程式保护选项为 [低 (IIS处理程序)]。
4、调整快取(Cache)记忆体
5.0将静态的网页资料暂存於快取(Cache)记忆体当中; 4.0则将静态的网页资料暂存於档案当中。调整快取(Cache)记忆体的保存档案数量可以改善执行效率。
ASP指令文档执行过後,会在暂存於快取(Cache)记忆体中以提高执行效能。增加快取记忆体的保存文档数量,可提高Active Server Pages之效能。
可以设定所有在整个IIS电脑、「独立」Web站台、或「独立」应用程式上执行之应用程式的快取记忆体档案数量。

如何设定快取(Cache)功能呢?步骤如下:
在 [Internet服务管理员] 中,选取整个IIS电脑、「独立」Web站台、或「独立」应用程式的起始目录。於 [内容] 之 [主目录]、[虚拟目录] 页,按下 [设定] 按钮时,即可由[处理程序选项] 页设定 [指令档快取记忆体] 。
如何设定快取(Cache)记忆体档案数量呢?步骤如下:
在 [Internet服务管理员] 中,选取整个IIS电脑、或Web站台的起始目录。於 [内容] 之 [伺服器扩充程式] 页,按下 [设定] 按钮。
即可设定快取(Cache)记忆体档案数量。
5、勿使用CGI程式
使用CGI程式时,因为处理程序(Process)须不断地产生与摧毁,造成执行效率不佳。
一般而言,执行效率比较如下:
静态网页(Static):100
ISAPI:50
ASP:10
CGI:1
换句话说,ASP比CGI可能快10倍,因此勿使用CGI程式可以改善IIS的执行效率。
以弹性(Flexibility)而言:ASP > CGI > ISAPI > 静态网页(Static)。
以安全(Security)而言:ASP(独立) = ISAPI(独立)= CGI > ASP(非独立) = ISAPI(非独立)= 静态网页(Static)。
6、增加IIS 5.0电脑CPU数量
根据微软的测试报告,增加IIS4.0电脑CPU数量,执行效率并不会改善多少;但是增加IIS 5.0电脑CPU数量,执行效率会几乎成正比地提供,换句话说,两颗CPU的IIS 5.0电脑执行效率几乎是一颗CPU电脑的两倍,四颗CPU的IIS 5.0电脑执行效率几乎是一颗CPU电脑的四倍。
IIS 5.0将静态的网页资料暂存於快取(Cache)记忆体当中;IIS 4.0则将静态的网页资料暂存於档案当中。调整快取(Cache)记忆体的保存档案数量可以改善执行效率。
7、启用ASP侦错功能
勿启用ASP侦错功能可以改善执行效率。
如何勿启用
ASP侦错功能呢?步骤如下:

於 [Internet服务管理员] 中,选取Web站台、或应用程式的起始目录,按右键选择[内容],按 [主目录]、[虚拟目录] 或 [目录] 页,按下[设定] 按钮,选择 [应用程式侦错] 页,不勾选 [启用ASP伺服器端指令侦错]、[启用ASP用户端指令侦错] 选项。
8、静态网页采用HTTP 压缩
静态网页采用HTTP 压缩,大约可以减少20%的传输量。
HTTP压缩功能启用或关闭,系针对整台IIS服务器来设定。
用户端使用IE 5.0浏览器连线到已经启用HTTP压缩IIS 5.0之Web服务器,才有HTTP压缩功能。
如何启用HTTP压缩功能呢?步骤如下:
若要启用HTTP压缩功能,方法为在 [Internet服务管理员] 中,选取电脑之 [内容],於 [主要内容] 之下选取[WWW服务]。然後按一下 [编辑] 按钮,於 [服务] 页上,选取 [压缩静态档案] 可以压缩静态档案,不选取 [压缩应用程式档案] 。
动态产生的内容档案(压缩应用程式档案)也可以压缩,但是须耗费额外CPU处理时间,若% Processor Time已经百分之八十或更多时,建议不要压缩。
其次 我还要说一下,就是除掉一些不必要的服务.