Apache服务器 | Apache多域名 | Apache目录 | Apache虚拟主机24 May 2012 18:10 Thursday

Apache报错"0x6eec38dc"指令引用的"0x00000000"内存。该内存不能为"read"。

Apache内存不能为read

启动Apache报错"0x6eec38dc"指令引用的"0x00000000"内存。该内存不能为"read"。

原因是:配置过httpd.conf,添加了一个指向移动硬盘的网站配置。


2011-03-28 20:32:55阅读全文>>>

Apache更改header的Connection: keep-alive

KeepAlive参数改为Off可以使Connection: keep-alive变为Connection: closed

header头部的输出就变成Connection: close

要修改Apache的配置文件,一般空间没这权限


2011-03-22 20:24:19阅读全文>>>

WEB服务器 - Apache、Nnginx、Lighttpd的比较和择优

1. Apache服务器和nginx的优缺点:
我们之前大量使用Apache来作为HTTPServer。 Apache具有很优秀的性能,而且通过模块可以提供各种丰富的功能。
1) 首先Apache对客户端的响应是支持并发的 ,运行httpd这个daemon进程之后,它会同时产生多个孩子进程/线程,每个孩子进程/线程分别对客户端的请求进行响应;
2) 另外,Apache可以提供静态和动态的服务 ,例如对于PHP的解析不是通过性能较差的CGI实现的而是通过支持PHP的模块来实现的(通常为mod_php5,或者叫做apxs2)。
3) 缺点:
因此通常称为Apache的这种Server为process-based server ,也就是基于多进程的HTTPServer,因为它需要对每个用户请求创建一个孩子进程/线程进行响应;
这样的缺点是,如果并发的请求非常多 (这在大型门户网站是很常见的)就会需要非常多的线程,从而占用极多的系统资源CPU和内存。因此对于并发处理不是Apache的强项。
4)解决方法:
目前来说出现了另一种WebServer,在并 发方面表现更加优越,叫做asynchronous servers异步服务器。最有名的为Nginx和Lighttpd。 所谓的异步服务器是事件驱动程序模式的event-driven,除了用户的并发请求通常只需要一个单一的或者几个线程。因此占用系统资源就非常少。这几 种又被称为lightweight web server。
举例,对于10,000的并发连接请求,nginx可能仅仅使用几M的内存;而 Apache可能需要使用几百M的内存资源。


2. 实际中单一的使用:


2010-12-06 09:19:27阅读全文>>>

Nginx+uwsgi快速部署Python应用

从学过的编程语言来说,感觉PHP的部署是最Easy的。只要把环境搭建好,PHP文件丢到路径,访问即可,不用操心php- cgi运行如何,很是方便啊。
而Phthon的部署就麻烦了,以下是总结网上资料关于使用 Nginx+uwsgi来部署Python应用。

Python的WEB服务器大部分可分为:Python写的(如Medusa ),嵌入 Python的(如mod_python 的),或者调用Python通过网关协议(例如的CGI,FastCGI的,等等)

Python常见部署方法有

  1. fcgi :用spawn-fcgi或者框架自带的工具对各个project分别生成监听进程,然后和http 服务互动
  2. wsgi :利用http服务的mod_wsgi模块来跑各个project(Web应用程序或框架简单而通用的Web服务器 之间的接口)。

    其 实 WSGI 是分成 server 和 f

2010-11-23 09:17:58阅读全文>>>

Apache 全部编译选项

Apache HTTP Server (httpd) 2.2.16全部编译选项

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version informa


2010-10-29 13:03:57阅读全文>>>

apache多域名多ip多端口的配置

 

之前就有一篇:apache同一ip设置多端口访问

#由于是多 ip 监听同一个端口所以这样写
Listen 80

#若是多ip 多端口 则是
#Listen 192.170.2.1:80
#Listen 192.170.2.5:8000

#由于使用多ip NameVirtualHost这样设置
NameVirtualHost 1.2.3.4:80
NameVirtualHost 5.6.7.8:80

#第一个ip给域名www.sjolzy.cn

 DocumentRoot /www/sjolzy.cn/


2010-07-31 22:22:56阅读全文>>>

php+FreeBSD + Nginx 环境搭建

为什么要选择 FreeBSD?


官 方网站:www.freebsd.org 中文网站:http://www.freebsd.org/zh_CN/
FreeBSD是一个优秀的unix操作系统,基于宽松的BSD协议,是完美的企业级操作系统,以重点突出性能和安全而闻名,行业领先的企业多年以来一直 使用FreeBSD服务器。具有同所有其它开源软件操作系统竞争的高级性能。
  1. Unix兼容性强
  2. 速度快
  3. 极 其稳定、可靠
  4. 强大的网络功能
  5. 多用户、多任务
  6. 使用方便(按照极好的说明文件操作)

为什么要选 择 Nginx?

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 是由 Igor Sysoev 为 俄罗斯访 问量第二的Rambler.ru 站点开


2010-07-10 16:31:03阅读全文>>>

php+CentOS + Nginx 环境搭建

获取相关开源软件包
本文中提到的所有开源软件包为截止到2009年10月20日的最新稳定版,且均从官方网站下载。
mkdir -p /home/software
cd /home/software
fetch http://sysoev.ru/nginx/nginx-0.8.24.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.00.tar.gz
wget ftp://xmlsoft.org/libxml2/libxml2-2.7.6.tar.gz
wget http://www.zlib.net/zlib-1.2.3.tar.gz
wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.40.tar.gz
wget http://www.ijg.org/files/jpegsrc.v7.tar.gz
wget http://ftp.twaren.net/Unix/NonGNU/freetype/freetype-2.3.11.tar.gz
wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
wget http://www.php.net/get/php-5.2.11.tar.gz/from/this/mirror
wget http://php-fpm.org/downloads/php-5.2.11-fpm-0.5.13.diff.gz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz

安装、升级所需的程序库
利用CentOS Linux系统自带的yum命令安装、升级所需的程序库
yum -y install gcc gcc-c++ autoconf libtool* openssl openssl-devel
安装 Mysql5.1.40
Mysql5.1.40 下载地址


2010-07-10 16:21:04阅读全文>>>

apache同一ip设置多端口访问

Listen 192.168.2.148:2000
NameVirtualHost 192.168.2.148:2000
<VirtualHost 192.168.2.148:2000>
        DocumentRoot D:/chen/www/nikefed
        DirectoryIndex index.html index.php
        ServerName 192.168.2.148:2000
        <Directory "D:/chen/www/nikefed">
        AllowOverride all
        Allow from all
         Options -Indexes
        </Directory>
</VirtualHost>


2010-05-17 17:54:28阅读全文>>>

window下设置apache虚拟主机

 

apache设置个虚拟主机使域名可行有两种办法:1.个IP解析到不同虚拟主机 2.单个IP绑定域名分解到不同虚拟主机

我们一般都是第2种,域名绑定同一IP。

首先,修改hosts文件域名访问方式。添加域名指向

不同的windows版本位置不同,

Windows 3.1/95/98/ME:
c:\windows\hosts

Windows NT/2000/XP Pro:
c:\winnt\system32\drivers\etc\hosts or c:\windows\system32\drivers\etc\hosts

Windows XP Home:
c:\windows\system32\drivers\etc\hosts

Windows Vista:
C:\Windows\System32\Drivers\etc\hosts

打开hosts文件,一般已有 ‘12


2010-04-28 23:50:50阅读全文>>>

Apache mime.types 不全导致上传不安全-php.rar漏洞

注意:经测试,本情况发生在少量配置有问题的服务器上,一般正式版apache无此问题。
一般的网站都会开放rar附件上传,并可能会保留原来文件名称,这从而可能导致一个很严重的问题,xxx.php.rar文件会被Apache当作php文件来执行, 造成极大的安全隐患。
    如何测试? 将你的某个php程序文件后缀名修改成 xxx.php.rar ,这时测试一下,还是按照PHP文件解析执行,Apache并不会认为这是一个rar文件,这是为什么呢?
    原来,每遇到一种后双重后缀名(如xxx.php.rar)的文件,Apache都会去conf/mime.types 文件中检查最后一个后缀,如果最后一个后缀并没有在mime.types文件中定义,则使用前一个后缀来解释,因为在默认情况下,rar并未在mime.types中定义,故Apache会使用php后缀来解释文件,这就是漏洞的原因所在。
    由此类推,如果使用xxx.jsp.ppp.rar 则会认为是jsp文件,如果修改成xxx.shtml.rar ,则会识别成shtml文件。a.php.c.d.e.rar 也是会被当成PHP文件解释的!想想,不知道有多少网站存在这个问题?
    那么针对网络管理员,如何杜绝这个隐患?
1、修改mime.types文件,在最后面加一条:


2009-12-17 23:30:14阅读全文>>>

Apache服务器使用.htaccess实现图片防盗链教程

所谓盗链,是指其他网站直接链接我们网站上的文件,一般来说,盗链的对象大多为很耗带宽的大体积文件,如图片、视频等。这样造成的后果主要有:增加了服务器的流量负担,影响我们网站的访问速度。
    如果你用的是Apache服务器,那么使用.htaccess文件就可以很方便的进行设置,从而防止其他站点的用户盗链我们站点的文件。

Apache中的.htaccess文件
    .htaccess文件是Apache中相当重要的配置文件,其格式为纯文本,它提供了针对目录改变配置的方法,通过在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。
    通过.htaccess文件,可以实现简单地很多在IIS中很繁琐甚至无法实现的功能,如密码保护、禁止显示目录列表、阻止/允许特定的IP地址、实现网址的301 重定向等等。
    正如上面所说,.htaccess文件将影响其所在的目录及其子目录,因此,如果我们要保护的内容(此处以防止图片盗链为例,即图片)位于网站内多个目录 下,可以考虑将其放在根目录下;而如果图片有单独的子目录如“/images/”,则只需将其放置在该目录下(当然也可以放到根目录中)。
    需要注意的是,如果通过FTP方式将创建好的.htaccess上传到服务器上,传输模式应为ASCII而非Binary。上传到服务器后,应将其属性通过 CHMOD修改为644 或“RW-R–R–”,这样,可以保证服务器能够使用同时无法通过浏览器修改,当然,.htaccess的可读属性也存在一定的风险:攻击者可通过它找出 您要保护的对象或认证文件位置——解决办法是将认证文件.htpasswd放到网站根目录之外,这样,便无法通过网络找到它了。
 


2009-12-17 22:57:11阅读全文>>>

apache的多站点配置方法

 

本文来自小屋sjolzy.cn【原创】

例:主机IP是:192.168.1.1

你的主机上有三个域名:
www.a.com 网页文件放在E:\web\www\1
www.b.com 网页文件放在E:\web\www\2
www.c.com 网页文件放在E:\web\www\3

apache的httpd.conf中加入
#设置不同的域名到不同的目录
NameVirtualHost 192.168.1.1
<VirtualHost 192.168.1.1>  
DocumentRoot "E:\web\www\a"
ServerName www.a.com            
</VirtualHost>

<VirtualHost 192.168.1.1>  
DocumentRoot "E:\web\www\b"
ServerName www.b.com            
</VirtualHost>


2009-12-01 01:15:20阅读全文>>>

让你的Apache配置更安全的方法

一、确保你安装的是最新的补丁
如果门是敞开的话,在窗户上加锁就毫无意义。同样道理,如果你没有打补丁,继续下面的操作就没有什么必要。
二、隐藏Apache的版本号及其它敏感信息
默认情况下,很多Apache安装时会显示版本号及操作系统版本,甚至会显示服务器上安装的是什么样的Apache模块。这些信息可以为黑客所用,并且黑客还可以从中得知你所配置的服务器上的很多设置都是默认状态。
这里有两条语句,你需要添加到你的httpd.conf文件中:
ServerSignature Off
ServerTokens Prod
ServerSignature出现在Apache所产生的像404页面、目录列表等页面的底部。ServerTokens目录被用来判断Apache会在Server HTTP响应包的头部填充什么信息。如果把ServerTokens设为Prod,那么HTTP响应包头就会被设置成:
Server:Apache
如果你非常想尝试其它事物,你可以通过编辑源代码改成不是Apache的其它东西,或者你可以通过下面将要介绍的mod_security实现。
三、确保Apache以其自身的用户账号和组运行


2009-12-01 01:14:20阅读全文>>>

apache伪静态URL配置RewriteEngine on出现403错误

本文来自小屋sjolzy.cn【原创】

解决方案:在apache配置文件httpd.conf中,修改两项配置: Options FollowSymLinksAllowOverride All


2009-11-30 23:18:08阅读全文>>>

让apache支持shtml 文件及shtml 介绍

介绍一下shtml和shtm

关于shtml,shtml是一种基于SSI技术的文件,也就是Server Side Include--SSI 服务器端包含指令,一些Web Server如果有SSI功能的话就会对shtml文件特殊招待,服务器会先扫一次shtml文件看没有特殊的SSI指令存在,如果有的话就按Web Server设定规则解释SSI指令,解释完后跟一般html一起调去客户端。

html或htm与shtml或shtm的关系是什么

html或者htm是一种静态的页面格式,也就是说不需要服务器解析其中的脚本,或者说里面没有服务器端执行的脚本,而shtml或者shtm 由于它基于SSI技术,当有服务器端可执行脚本时被当作一种动态编程语言来看待,就如asp、jsp或者php一样。当shtml或者shtm中不包含服务器端可执行脚本时其作用和html或者htm是一样的。

如何使你的Apache服务器支持SSI?

Apache默认是不支持SSI的,需要我们更改httpd.conf来进行配置。我这里以windows平台的Apache 2.0.x为例,打开conf目录下的httpd.conf文件,搜索“AddType text/html .shtml”,搜索结果:


2009-11-30 21:58:05阅读全文>>>

使apache服务器支持.htaccess(url重写)

有的apache的默认httpd.conf 配置可能不支持.htaccess 这时候如果我们需要这一功能,就要自己修改配置文件。

打开apache目录下的conf文件夹里的httpd.conf 文件,找到

<Directory />

 

</Directory>

 

这时候里面的AllowOverride 默认为None ,把None 改为All 即可。即AllowOverride All 控制.htaccess的可用与否。

另外如果这样子还不可以,再找到


2009-11-29 11:29:56阅读全文>>>

几条apache的配置经验

*Options Indexes FollowSymLinks
要把indexes去掉。否则当找不到index.html或者index.php时,apache会列出网站内所有网页的存放目录及子目录。

*解决中文文件名无法访问
在ie中选择 工具 -> internet选项 -> 高级 -> 取消“总是以UTF-8发送URL”。

*设置虚拟目录
在conf的最后添加
Alias /c "C:/usr/www"
<Directory "C:/usr/www">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>


2009-11-28 23:15:24阅读全文>>>

发表评论:(这里的评论会加到留言板)