准备篇
一、环境说明:
操作系统:Windows Server 2008 R2
PHP版本:php 5.4.4
MySQL版本:MySQL5.5.25
二、相关软件下载:
1、PHP下载地址:
http://windows.php.net/downloads/releases/php-5.4.4-nts-Win32-VC9-x86.zip
2、MySQL下载地址:
http://gd.tuwien.ac.at/db/mysql/Downloads/MySQLInstaller/mysql-installer-5.5.25.0.msi
3、PHP加速软件ZendGuard下载地址:
http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-Windows.zip
4、Microsoft .NET Framework 4(独立安装程序)下载地址:
http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe
5、Microsoft Visual C++ 2010 可再发行组件包 (x64)下载地址:
http://download.microsoft.com/download/3/2/2/3224B87F-CFA0-4E70-BDA3-3DE650EFEBA5/vcredist_x64.exe
6、Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:
http://download.microsoft.com/download/7/5/0/7502f4e9-1f90-4895-9259-1bde67b8b9a1/vcredist_x86.exe
安装篇
一、安装IIS7.5
开始-管理工具-服务器管理器
选择“角色”点右边的添加角色
下一步
选择“Web服务器(IIS)”,下一步
下一步
确保“CGI”被选中,其他的角色服务可根据自己的需要勾选
这里全部勾选
下一步
安装
正在安装
关闭,在浏览器里面打开http://localhost/
出现下面的界面
IIS7.5安装完成
二、安装Microsoft Visual C++ 2010 可再发行组件包 (x64)
双击打开vcredist_x64.exe
选中“我已阅读并接受许可条款”,点安装
正在安装
完成
三、安装Microsoft .NET Framework 4(独立安装程序)
双击dotNetFx40_Full_x86_x64.exe
选中“我已阅读并接受许可条款”,点安装
正在安装
点完成,安装完毕。
四、安装MySQL
双击打开mysql-installer-5.5.25.0
选择第一项Install MySQL Products(安装MySQL)
选中“I accept the license terms”(我接受许可条款),点Next
选中“Skip the check for update (not recommended)”(跳过检查更新),点Next
选中“Custom”(自定义安装),Installation Path(安装路径):D:\Program Files\MySQL
Next
确保“MySQL Server5.5.25”被选中,点Next(其他的组件可以选择安装)
这里全部选中,安装所有组件
Execute (执行)
选中“我已阅读并接受许可条款”
点安装
完成
Next
Execute (执行)
Next
Next
Developer Machine(开发服务器)
Server Machine(普通服务器)
Dedicated Machine(专用服务器)
这里选择第二项: Server Machine(普通服务器)
点Next
勾选“Enable TCP/IP Networking”(开启TCP网络端口)
Port Number(端口):3306
勾选“Create Windows Service”(创建Windows系统服务)
Windows Server Name(Windows服务名):MySQL55
MySQL Root password:输入密码
Repeat Password:重复输入密码
设置好之后,点Next
Next
Next
点Finish(完成)
关闭此窗口
打开MySQL安装路径
D:\Program Files\MySQL\MySQL Server 5.5
复制my-huge.ini为my.ini
备份my-huge.ini为my-huge.ini_bak
开始-所有程序-MySQL-MySQL Server 5.5- Mysql Command Line Client
输入安装时候的MySQL root账号密码,回车
登录成功,MySQL安装完成。
五、安装Microsoft Visual C++ 2008 Redistributable Package (x86)
双击打开vcredist_x86.exe
下一步
勾选“我已阅读并接受许可条款”
点安装
完成
六、安装PHP
解压php-5.4.4-nts-Win32-VC9-x86.zip文件
重命名文件夹为php,把php文件夹拷贝到D盘根目录
解压ZendGuardLoader-php-5.3-Windows.zip
打开
D:\soft\ZendGuardLoader-php-5.3-Windows\ZendGuardLoader-php-5.3-Windows\php-5.3.x
把里面的ZendLoader.dll文件拷贝到D:\php\ext目录中
打开D:\php
复制php.ini-development为php.ini
用记事本打开php.ini
做如下修改:
extension_dir = "D:\php\ext" #设置php模块路径
date.timezone = PRC #设置时区为中国时区
register_globals = On #开启GET数据调用
short_open_tag = On #php支持短标签
cgi.force_redirect = 0 #开启以CGI方式运行php
fastcgi.impersonate = 1;
cgi.rfc2616_headers = 1
以下php扩展模块,根据需要选择开启,取消前面的分号为开始相应扩展模块
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_sockets.dll
extension=php_xmlrpc.dll
extension=php_pdo_mysql.dll
在最后一行添加以下代码
[ZendGuardLoader]
zend_loader.enable=1
zend_loader.disable_licensing=1
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension="D:\php\ext\ZendLoader.dll"
最后,保存退出
七、配置IIS支持PHP
开始-管理工具- Internet 信息服务(IIS)管理器
双击左边“起始页”下面的计算机名称
找到中间的IIS部分,打开“处理程序映射”
点右边的“添加模块映射”
请求路径:*.php
模块:FastCgiModule
可执行文件(可选):D:\php\php-cgi.exe
名称:FastCGI
最后,确定
点“是”
双击左边“起始页”下面的计算机名称
找到中间的IIS部分,打开“FastCGI设置”
右键选中:D:\php\php-cgi.exe然后选择编辑
监视对文件所做的更改:D:\php\php.ini
环境变量,点旁边的安装
点“添加”
Name:PHP_FCGI_MAX_REQUESTS
Value:10000
确定
确定
测试篇
打开:
C:\inetpub\wwwroot
新建一个index.php文件
内容如下:
<?php
Phpinfo();
?>
最后,保存退出
在浏览器里面打开http://localhost/
出现下面的界面,说明配置成功!
至此,Windows Server 2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程完成。
Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入
访问用户:电信宽带用户、移动宽带用户
出现问题:电信用户打开www.abc.com正常,移动用户打开www.abc.com很慢,甚至打不开
解决方案:在移动机房放置一台CDN代理服务器,通过智能DNS解析,让电信用户直接访问Web服务器、让移动用户访问CDN代理服务器,解决移动用户访问Web服务器慢的问题
具体操作:
CDN代理服务器:
系统:CentOS 5.5 主机名:cdn.abc.com IP:192.168.21.160 安装Squid软件,配置反向代理搭建CDN缓存服务器
安装前准备:
1、关闭SELinux
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,关闭。
shutdown -r now重启系统
2、开启防火墙80端口(后面配置squid的端口为80)
vi /etc/sysconfig/iptables
添加下面的内容
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables restart #重启防火墙使配置生效
3、修改主机的路由模式
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 #0为关闭,1为开启路由 使用sysctl -p 命令查看
4、修改主机hosts文件,增加域名解析记录
vi /etc/hosts
192.168.21.129 www.abc.com #添加解析记录
===========================================================================
安装开始
1、安装Squid
yum install squid #安装(Squid 2.6)
service squid start #启动
service squid restart #重启
chkconfig squid on #设置开机启动
2、配置Squid
cp /etc/squid/squid.conf /etc/squid/squid.confbak #备份
vi /etc/squid/squid.conf #编辑文件
http_port 80 transparent #设置squid端口,默认为3128,设置为80,客户端打开网站的时候不需要输入端口号
cache_mem 1024 MB #分配内存大小
cache_dir ufs /var/spool/squid 4096 16 256 #设置缓存文件大小
cache_effective_user squid #设置用户
cache_effective_group squid #设置用户组
access_log /var/log/squid/access.log #设置访问日志文件
cache_log /var/log/squid/cache.log #设置缓存日志文件
cache_store_log /var/log/squid/store.log #设置缓存记录文件
visible_hostname cdn.abc.com #设置squid服务器主机名
cache_mgr root@abc.com #设置管理员邮箱(设置为自己的邮箱地址)
acl all src 0.0.0.0/0.0.0.0 #设置访问控制列表,默认开启
http_access allow all #设置访问权限,默认注释掉的
cache_peer 192.168.21.129 parent 80 0 no-query originserver name=web #用户访问web时,Squid向192.168.21.129的80端口发送请求
cache_peer_domain web www.abc.com #设置web域名为www.abc.com
cache_peer_access web allow all #设置访问权限,允许所有外部客户端访问web
:wq! #保存退出
service squid stop #停止
/usr/sbin/squid -z #初始化cache缓存目录
service squid start #启动
Squid反向代理服务器安装配置完成
==================================================================
启用智能DNS解析:
如果是电信用户访问域名www.abc.com解析到192.168.21.128
如果是移动用户访问域名www.abc.com解析到192.168.21.160
CDN缓存服务器与Web服务器之间采用专线连接
移动用户访问web服务器www.osyunwei.com很慢
解决办法:
1、在移动机房放置一台nginx反向代理服务器
2、通过域名DNS智能解析,所有移动用户访问www.osyunwei.com时解析到nginx反向代理服务器
3、nginx反向代理服务器与web服务器之间采用专线连接
说明:
1、web服务器
线路:电信
IP:192.168.21.129
域名:www.osyunwei.com
2、nginx反向代理服务器
线路:移动
系统:CentOS 6.2
IP:192.168.21.164
vi /etc/hosts #编辑,在文件最后添加下面一行
192.168.21.129 www.osyunwei.com
3、客户端
线路:移动
系统:Windows 7
IP:192.168.21.130
C:\Windows\System32\drivers\etc\hosts #用记事本打开,在文件最后添加下面一行
192.168.21.164 www.osyunwei.com
###################以下操作在nginx反向代理服务器上配置###################
1、关闭SELinux
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,关闭。
shutdown -r now重启系统
2、开启防火墙80端口
vi /etc/sysconfig/iptables
添加下面的内容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables restart #重启防火墙使配置生效
3、安装编译工具
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl
4 、系统约定
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字
5、下载软件
cd /usr/local/src #进入目录
(一)、下载nginx(目前稳定版)
wget http://nginx.org/download/nginx-1.0.12.tar.gz
(二)、下载pcre (支持nginx伪静态)
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
(二)、下载ngx_cache_purge(清除指定URL缓存)
wget http://labs.frickle.com/files/ngx_cache_purge-1.5.tar.gz
6、安装pcre
cd /usr/local/src
mkdir /usr/local/pcre #创建安装目录
tar zxvf pcre-8.21.tar.gz
cd pcre-8.21
./configure --prefix=/usr/local/pcre #配置
make
make install
7、安装 nginx
groupadd www #添加www组
useradd -g www www -s /bin/false #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统
cd /usr/local/src
tar zxvf ngx_cache_purge-1.5.tar.gz
tar zxvf nginx-1.0.12.tar.gz
cd nginx-1.0.12
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.21 --add-module=../ngx_cache_purge-1.5
注意:--with-pcre=/usr/local/src/pcre-8.21指向的是源码包解压的路径,而不是安装的路径,否则会报错
make #编译
make install #安装
/usr/local/nginx/sbin/nginx #启动nginx
chown www.www -R /usr/local/nginx/html #设置目录所有者
chmod 700 -R /usr/local/nginx/html #设置目录权限
vi /etc/rc.d/init.d/nginx # 设置nginx开启启动,编辑启动文件添加下面内容
=======================================================
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
}
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
stop)
stop
reload)
reload
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
=======================================================
:wq!保存退出
chmod 775 /etc/rc.d/init.d/nginx #赋予文件执行权限
chkconfig nginx on #设置开机启动
/etc/rc.d/init.d/nginx restart
service nginx restart
8、配置nginx
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.confbak #备份nginx配置文件
(一)、设置nginx运行账号
vi /usr/local/nginx/conf/nginx.conf #编辑
找到user nobody;修改为
user www www; #在第一行
(二)、禁止nginx空主机头
vi /usr/local/nginx/conf/nginx.conf #编辑
找到server,在上面一行添加如下内容:
##############################
server {
listen 80 default;
server_name _;
location / {
root html;
return 404;
}
location ~ /.ht {
deny all;
}
}
##############################
/etc/rc.d/init.d/nginx restart #重启nginx
这样设置之后,空主机头访问会直接跳转到nginx404错误页面。
(三)、添加nginx虚拟主机包含文件
cd /usr/local/nginx/conf/ #进入nginx安装目录
mkdir vhost #建立虚拟目录
vi /usr/local/nginx/conf/nginx.conf #编辑
找到上一步添加的代码,在最后添加如下内容:
include vhost/*.conf;
例如:
##############################
server {
listen 80 default;
server_name _;
location / {
root html;
return 404;
}
location ~ /.ht {
deny all;
}
}
include vhost/*.conf;
##############################
(四)、添加proxy_cache参数配置包含文件
cd /usr/local/nginx/conf/ #进入目录
touch proxy.conf #建立文件
vi /usr/local/nginx/conf/nginx.conf #编辑
找到http { 在下面添加一行
include proxy.conf;
(五)、添加被代理服务器列表包含文件
cd /usr/local/nginx/conf/ #进入目录
touch mysvrhost.conf #建立文件
vi /usr/local/nginx/conf/nginx.conf #编辑
找到上一步添加的代码,在下面添加一行
include mysvrhost.conf;
(六)、设置nginx全局参数
vi /usr/local/nginx/conf/nginx.conf #编辑
worker_processes 2; # 工作进程数,为CPU的核心数或者两倍
events
{
use epoll; #增加
worker_connections 65535; #修改为65535,最大连接数。
}
#############以下代码在http { 部分增加与修改##############
server_names_hash_bucket_size 128; #增加
client_header_buffer_size 32k; #增加
large_client_header_buffers 4 32k; #增加
client_max_body_size 300m; #增加
tcp_nopush on; #修改为on
keepalive_timeout 60; #修改为60
tcp_nodelay on; #增加
server_tokens off; #增加,不显示nginx版本信息
gzip on; #修改为on
gzip_min_length 1k; #增加
gzip_buffers 4 16k; #增加
gzip_http_version 1.1; #增加
gzip_comp_level 2; #增加
gzip_types text/plain application/x-javascript text/css application/xml; #增加
gzip_vary on; #增加
(七)、设置proxy_cache参数配置
cd /home #进入目录
mkdir -p /home/proxy_temp_dir #proxy_temp_dir与proxy_cache_dir这两个文件夹必须在同一个分区
mkdir -p /home/proxy_cache_dir #proxy_cache_dir与proxy_temp_dir这两个文件夹必须在同一个分区
chown www.www -R proxy_cache_dir proxy_temp_dir #设置目录所有者
chmod -R 777 proxy_cache_dir proxy_temp_dir #设置目录权限
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链
cd /usr/local/nginx/conf/ #进入目录
vi proxy.conf #编辑,添加以下代码
proxy_temp_path /home/proxy_temp_dir; #指定临时文件目录
proxy_cache_path /home/proxy_cache_dir levels=1:2 keys_zone=cache_one:50m inactive=1d max_size=1g;
#设置Web缓存区名称为cache_one,内存缓存为50MB,自动清除1天内没有被访问的文件,硬盘缓存为1GB。
client_body_buffer_size 512k; #增加缓冲区代理缓冲客户端请求的最大字节数
proxy_connect_timeout 60; #增加连接后端服务器超时时间
proxy_read_timeout 60; #增加后端服务器响应请求超时时间
proxy_send_timeout 60; #增加后端服务器发送数据超时时间
proxy_buffer_size 32k; #增加代理请求缓存区大小
proxy_buffers 4 64k; #增加
proxy_busy_buffers_size 128k; #增加系统繁忙时可申请的proxy_buffers大小
proxy_temp_file_write_size 128k; #增加proxy缓存临时文件的大小
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; #增加故障转移,如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。proxy_cache cache_one; #增加使用web缓存区cache_one
(八)、设置被代理服务器文件列表
cd /usr/local/nginx/conf/ #进入目录
vi mysvrhost.conf #编辑,添加以下代码
upstream osyunweihost {
server 192.168.21.129:80 weight=1 max_fails=2 fail_timeout=30s;
}
(九)、新建虚拟主机配置文件
cd /usr/local/nginx/conf/vhost #进入虚拟主机目录
touch www.osyunwei.com.conf #建立虚拟主机配置文件
vi www.osyunwei.com.conf #编辑
server {
listen 80;
server_name www.osyunwei.com osyunwei.com;
location /
{
proxy_pass http://osyunweihost;
proxy_cache_key $host$uri$is_args$args; #增加设置web缓存的key值,nginx根据key值md5哈希存储缓存
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_valid 200 304 12h;
expires 2d;
}
location ~ .*\.(php|jsp|cgi|asp|aspx|flv|swf|xml)?$ #列出的扩展名文件不缓存。
{
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://osyunweihost;
}
access_log off;
}
location ~ /purge(/.*) #用于清除缓存
{
allow 127.0.0.1;
allow 192.168.21.0/24; #设置只允许指定的IP或IP段才可以清除URL缓存。
deny all;
proxy_cache_purge cache_one $host$1$is_args$args;
}
###################以上操作在nginx反向代理服务器上配置###################
9、ngx_cache_pure清除缓存模块使用说明
说明:根据配置只允许192.168.21.0/24 IP段的主机才可以清除URL缓存,现在我使用的客户机IP是:192.168.21.130,有权限清除URL缓存。
1、浏览图片文件:http://www.osyunwei.com/images/nopic.gif
2、清除这个文件缓存:http://www.osyunwei.com/purge/images/nopic.gif
提示:Successful purge,缓存文件清除成功,如果这个文件没有被缓存过,则提示:404 Not Found
备注:
1、purge是ngx_cache_pure 模块指令
2、images/nopic.gif 是要清除的缓存文件URL路径
至此,使用Nginx反向代理和proxy_cache缓存功能配置CDN服务器教程结束。
附件:
1、nginx配置文件/usr/local/nginx/conf/nginx.conf
user www www; worker_processes 2; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { use epoll; worker_connections 65535; } http { include proxy.conf; include mysvrhost.conf; include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 300m; sendfile on; tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 60; tcp_nodelay on; server_tokens off; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; server { listen 80 default; server_name _; location / { root html; return 404; } location ~ /.ht { deny all; } } include vhost/*.conf; }
2、被代理服务器列表文件/usr/local/nginx/conf/mysvrhost.conf
upstream osyunweihost { server 192.168.21.129:80 weight=1 max_fails=2 fail_timeout=30s; }
3、proxy_cache参数配置文件/usr/local/nginx/conf/proxy.conf
proxy_temp_path /home/proxy_temp_dir; proxy_cache_path /home/proxy_cache_dir levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=30g; client_body_buffer_size 512k; proxy_connect_timeout 60; proxy_read_timeout 60; proxy_send_timeout 60; proxy_buffer_size 32k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; proxy_cache cache_one;
4、虚拟主机配置文件/usr/local/nginx/conf/vhost/www.osyunwei.com.conf
server { listen 80; server_name www.osyunwei.com osyunwei.com; location / { proxy_pass http://osyunweihost; proxy_cache_key $host$uri$is_args$args; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_cache_valid 200 304 12h; expires 2d; } location ~ /purge(/.*) { allow 127.0.0.1; allow 192.168.21.0/24; deny all; proxy_cache_purge cache_one $host$1$is_args$args; } location ~ .*\.(php|jsp|cgi|asp|aspx|flv|swf|xml)?$ { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://osyunweihost; } access_log off; }
扩展阅读:
#################################################################
nginx修改版本等信息
vi /usr/local/src/nginx-1.0.12/src/core/nginx.h #编译前编辑
#define nginx_version
#define NGINX_VERSION
#define NGINX_VER
#define NGINX_VAR
修改上面的信息,即可更改nginx显示版本。
vi /usr/local/src/http/ngx_http_special_response.c #编译前编辑
static u_char ngx_http_error_full_tail[] =
static u_char ngx_http_error_tail[] =
修改上面的信息为你自己的。
#################################################################