精华内容
参与话题
问答
  • Apache服务器介绍

    千次阅读 2015-04-18 14:42:00
    Apache概述: ...(Apache主要采用的是基于进程的Prefork模式(还有基于线程的Worker模式),也就是,对于每个请求会用一个进程去进行服务,进程非常占资源,当并发量大的时候,就需要等额的进程,导致的

    Apache概述:

    (1)Apache是目前世界上使用最广泛的一种web server,它以跨平台,高效和稳定而闻名。

    (2)Apache缺点是变得越来越重,被普遍认为是重量级的web server。(Apache主要采用的是基于进程的Prefork模式(还有基于线程的Worker模式),也就是,对于每个请求会用一个进程去进行服务,进程非常占资源,当并发量大的时候,就需要等额的进程,导致的是高内存占用和CPU占用,这就是所谓的重量级 

    (3)Apache是基于模块化设计的,总体上看起来代码的可读性高于php代码,它的核心代码并不多,大多数的功能都被分割到各种模块中,各个模块在系统启动时按需载入。

    (4)Apache是用C语言写的。

    Apache服务器的安装:

    双击程序,一直下一步,直到出现以下界面:

     

    选择for all……——>下一步——>自定义安装——>直至最后安装成功


    测试是否安装成功:

    在浏览器中输入:http://localhost    回车

    网页显示: It  Works!  表示安装成功!

    apache安装成功后,操作系统是以服务的形式管理的;

    通过命令行管理Apache软件:

    Httpd     启动Apache

    Httpd -k  start     启动Apache

    Httpd –k  shutdown     停止Apache

    Httpd –k  restart      重启Apache


    要想使用以上命令,需要配置环境变量:

    在变量值Path的变量值中加上:Apache的bin目录

    C:\xampp\apache\bin

    Apache服务器默认在80端口监听

    一台机器可以有1到65535号端口,一个端口代表2个字节

    Netstat  -an   该命令用来查询本机器有哪些端口正在被监听

    Netstat  -anb  该命令用来查询本机器有哪些端口正在被监听及其对应的应用程序

             端口中的1-1024号叫做有名端口,这些端口一般不要用,他们已经分配好了

    Apache如何配置端口:

    Apache软件的端口是在httpd.conf文件中配置的,该文件在Apache目录下的conf文件下。在该文件中可以修改端口,修改后重新启动Apache,就生效。

    Apache可以监听多个端口,如下图所示:



    Apache目录结构含义:



    展开全文
  • 安装apache服务器

    2018-01-26 10:55:37
    最近开始学习web开发,首先安装apache服务器,网上类似的教程很多,但对于新手来说不够详细,特把安装过程做一个详细记录,一来作为自己的笔记,也希望为需要帮助的朋友一些启发。 软件的下载地址在截图中放出,...

    最近开始学习web开发,首先安装apache服务器,网上类似的教程很多,但对于新手来说不够详细,特把安装过程做一个详细记录,一来作为自己的笔记,也希望为需要帮助的朋友一些启发。

    软件的下载地址在截图中放出,需要指出的是如果没有安装VC14的需要安装,否则会出错,其实网页上也已经做了提示。

    http://www.apachelounge.com/download/

    将下载的文件解压到你想安装的目录。我以D:\Myenv\Apache24为例。

    用记事本打开D:\Myenv\Apache24\conf\httpd.conf ,准备修改Apache配置文件。

    第37行,关键词:ServerRoot "c:/Apache24"这是Apache的安装目录,按照自己的实际情况(解压到哪就写什么)填写,这里我填写“D:/Myenv/Apache24“。
    注意:记住当在 Windows 环境下的 Apache 配置文件中添加路径值时,所有的反斜线,如 c:\directory\file.ext,应转换为正斜线: c:/directory/file.ext。


    关键词:ServerAdmin admin@example.com这是Apache管理员Email地址,改不改无所谓。
    关键词:#ServerName www.example.com:80这是Apache的服务器地址,把前面的”#“去掉,把”www.example.com“改成”localhost“。

    关键词:DocumentRoot "c:/Apache24/htdocs"这个是网站的根目录,就是你以后把做好的网页放进去的目录,可以自己修改。
    关键词:<Directory "c:/Apache24/htdocs">这个也是网站根目录,但是必须和上面的改成一样,否则无法打开网站。
    注意:你填的这个目录必须已创建(必须是存在的),否则也会报错。


    关键词:ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"这个是Apache服务器的关键文件目录,要修改为自己Apache的安装目录下的“cgi-bin”文件夹。
    关键词:<Directory "c:/Apache24/cgi-bin">和上步一样,也改成一样的。

    至此,Apache 2.4.配置完毕。
    你可以打开Apache安装目录下的“bin”文件夹中的“httpd.exe”测试服务器,如果一闪而过,则说明你的配置文件有问题。如果打开一个空的命令提示符,那么恭喜你。
    不要关闭这个命令提示符,打开浏览器,在地址栏输入“localhost”,回车,如果显示“It works!”则说明你的服务器配置成功。

    注意:如果没有安装vc14此处会报错!

     

     

    下一步要做的就是让系统服务中增加apache的服务。

    关闭上一步的命令窗口,开始----运行-----cmd,进入apapche的bin目录下,加入服务的命令为:httpd.exe -k install -n "servicename",servicename为Apache在windows的服务中的名字。例如:httpd.exe -k install -n "localhost"
    输入httpd.exe -k install -n "localhost"会有成功安装的提示,“服务”也会有localhost这个服务项。

    如果要卸载这个服务的话,先要停止这个服务,然后输入httpd.exe -k uninstall -n "Apache24"卸载这个服务。

    这个时候启动apache有两种方式:

    1、在系统服务中启动,启动后在浏览器输入localhost就会出现it works!

    2、可以通过Apache24\bin文件夹下的ApacheMonitor.exe来控制这个Apache。任务栏也会有显示这个软件的很方便的管理Apache的运行。

    至此,apache安装配置启动完毕。

    展开全文
  • apache 服务器配制

    2016-11-13 17:26:00
    简介:Apache 是世界上使用量第一的Web服务器软件,可用于linux,unix,windows等平台,尤其是对Linux支持完美 Apache的优点: 功能强大,自带很多功能模块,可根据需求编译所需。 配制简单, 处理静态页面文件...

    简介:Apache 是世界上使用量第一的Web服务器软件,可用于linux,unix,windows等平台,尤其是对Linux支持完美

    Apache的优点:

    • 功能强大,自带很多功能模块,可根据需求编译所需。
    • 配制简单,
    • 处理静态页面文件效率很高,可以应用大并发和高负荷访问请求。
    • 性能稳定

    Apache的缺点:

    • 只支持静态页面,对于JSP,和PHP等动态不支持。
    •  以进程为基础的结构,进程以线程消耗更多的系统开销,因以不太适合于多处理器环境。

    安装环境:Cenos 6.5

    安装过程:yum -y install httpd

    配制:vim /etc/httpd/conf/httpd.conf

         httpd的运行目录

     记录httpd守护进程的进程号

      用于客户端与服务端超时间间隔,单位秒。

      用于是否与服务端建立永久连接,ON表示永久,OFF 表示永久关闭,默认为OFF

      定义一个TCP连接可以进行HTTP请求的最大的资数,当KeepAlive 为ON时,这个设置起作用。

      用来限定一次连接中最后一次请求完成后延时等待的时间,如果超过这个时间,服务器就断开连接。

     

    上面两段是对WEB服务器的使用资源进行的设置,Apache可以在prefork和worker两种模式下,可以通过 httpd -l 确定apache是哪种进的模式

     

     apache 配置-Rewrite重写

    第一步:去掉LoadModule rewrite_module modules/mod_rewrite.so前面的注释符#

    第二部:

    <Directory /web1>
    Options Indexes FollowSymLinks
    AllowOverride All  #原来是None  改为All
    Require all granted
    </Directory>

    第三部:编辑.htaccess 文件:

      RewriteEngine on   #打开rewirte功能 

      RewriteCond %{HTTP_HOST} web1.chen.com   #声明Client请求的主机中前缀web1.chen.com

      RewriteRule .* http://web2.chen.com 含义是如果Client请求的主机中的前缀符合上述条件,则直接进行跳转到http://www.111cn.net/,[L]意味着立即停止重写操                                                            作,并不再应用其他重写规则。这里的.*是指匹配所有URL中不包含换行字符,()括号的功能是把所有的字符做一个标记,以                                                            便于后面的应用.就是引用前面里的 (.*)字符。

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

    如果是文件跳转 :RewriteCond %{HTTP_HOST} 不需要

      RewriteEngine on 

      RewriteRule  abc  index_html.html

     

     

    -----------------Apache配置-常见子配置文件---------------------

    httpd-default.conf  httpd线程控制

    httpd-info.conf   状态统计页面

    httpd-languages.conf  语言编码 

    httpd-manual.conf  帮助

    httpd-mpm.conf 最大连接数

    httpd-multilan-errordoc.conf  错误页面

    httpd-ssl.conf  ssl安全套接字访问

    httpd-userdir.conf  用户主目录配置

    httpd-vhosts.conf   虚拟主机

    KeepAlive On #开启持久性连接功能。即当客户端连接到服务器,下载完数据后仍然保持连接状态。

    MaxKeepAliveRequests 100 #一个连接服务的最多请求次数

    转载于:https://www.cnblogs.com/powpoia/p/6059288.html

    展开全文
  • Apache服务器配置

    2014-05-09 07:13:21
    Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。...其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。 PidFile logs/httpd.pid #第一个httpd进程(所有其他...

    Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。 
    主站点的配置(基本配置) 

    (1)
    基本配置: 
    ServerRoot "/mnt/software/apache2" #
    你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。 

    PidFile logs/httpd.pid #
    第一个httpd进程(所有其他进程的父进程)的进程号文件位置。 

    Listen 80 #
    服务器监听的端口号。 

    ServerName www.clusting.com:80 #
    主站点名称(网站的主机名)。 

    ServerAdmin admin@clusting.com #
    管理员的邮件地址。 

    DocumentRoot "/mnt/web/clusting" #
    主站点的网页存储位置。 


    以下是对主站点的目录进行访问控制: 

    <Directory "/mnt/web/clusting"> 
    Options FollowSymLinks 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
    </Directory> 

    在上面这段目录属性配置中,主要有下面的选项: 

    Options
    :配置在特定目录使用哪些特性,常用的值和基本含义如下: 

    ExecCGI:
    在该目录下允许执行CGI脚本。 

    FollowSymLinks:
    在该目录下允许文件系统使用符号连接。 

    Indexes:
    当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。 

    SymLinksIfOwnerMatch:
    当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。 

    其它可用值和含义请参阅:http://www.clusting.com/Apache/ApacheManual/mod/core.html#options 


    AllowOverride
    :允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定) 
    None:
    AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。 

    All:
    .htaccess文件中可以使用所有的指令。 

    其他的可用值及含义(如:Options FileInfo AuthConfig Limit),请参看:http://www.clusting.com/Apache/ApacheManual/mod/core.html#AllowOverride 

    Order
    :控制在访问时AllowDeny两个访问规则哪个优先: 

    Allow
    :允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16) 

    Deny
    :拒绝访问的主机列表。 

    更详细的用法可参看:http://www.clusting.com/Apache/ApacheManual/mod/mod_access.html#order 

    DirectoryIndex index.html index.htm index.php #
    主页文件的设置(本例将主页文件设置为:index.html,index.htmindex.php 


    (2)
    服务器的优化 (MPM: Multi-Processing Modules) 
    apache2
    主要的优势就是对多处理器的支持更好,在编译时同过使用--with-mpm选项来决定apache2的工作模式。如果知道当前的apache2使用什么工作机制,可以通过httpd -l命令列出apache的所有模块,就可以知道其工作方式: 

    prefork
    :如果httpd -l列出prefork.c,则需要对下面的段进行配置: 

    <IfModule prefork.c> 

    StartServers 5 #
    启动apache时启动的httpd进程个数。 

    MinSpareServers 5 #
    服务器保持的最小空闲进程数。 

    MaxSpareServers 10 #
    服务器保持的最大空闲进程数。 

    MaxClients 150 #
    最大并发连接数。 

    MaxRequestsPerChild 1000 #
    每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000 

    </IfModule> 


    在该工作模式下,服务器启动后起动5httpd进程(加父进程共6个,通过ps -ax|grep httpd命令可以看到)。当有用户连接时,apache会使用一个空闲进程为该连接服务,同时父进程会fork一个子进程。直到内存中的空闲进程达到MaxSpareServers。该模式是为了兼容一些旧版本的程序。我缺省编译时的选项。 

    worker
    :如果httpd -l列出worker.c,则需要对下面的段进行配置: 

    <IfModule worker.c> 

    StartServers 2 #
    启动apache时启动的httpd进程个数。 

    MaxClients 150 #
    最大并发连接数。 

    MinSpareThreads 25 #
    服务器保持的最小空闲线程数。 

    MaxSpareThreads 75 #
    服务器保持的最大空闲线程数。 

    ThreadsPerChild 25 #
    每个子进程的产生的线程数。 

    MaxRequestsPerChild 0 #
    每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000 

    </IfModule> 


    该模式是由线程来监听客户的连接。当有新客户连接时,由其中的一个空闲线程接受连接。服务器在启动时启动两个进程,每个进程产生的线程数是固定的(ThreadsPerChild决定),因此启动时有50个线程。当50个线程不够用时,服务器自动fork一个进程,再产生25个线程。


    perchild
    :如果httpd -l列出perchild.c,则需要对下面的段进行配置: 

    <IfModule perchild.c> 

    NumServers 5 #
    服务器启动时启动的子进程数 

    StartThreads 5 #
    每个子进程启动时启动的线程数 

    MinSpareThreads 5 #
    内存中的最小空闲线程数 

    MaxSpareThreads 10 #
    最大空闲线程数 

    MaxThreadsPerChild 2000 #
    每个线程最多被请求多少次后退出。0不受限制。 

    MaxRequestsPerChild 10000 #
    每个子进程服务多少次后被重新fork0表示不受限制。 

    </IfModule> 

    该模式下,子进程的数量是固定的,线程数不受限制。当客户端连接到服务器时,又空闲的线程提供服务。如果空闲线程数不够,子进程自动产生线程来为新的连接服务。该模式用于多站点服务器。 
    (3) HTTP
    返头回信息配置: 

    ServerTokens Prod #
    该参数设置http头部返回的apache版本信息,可用的值和含义如下: 

    Prod
    :仅软件名称,例如:apache 
    Major
    :包括主版本号,例如:apache/2 
    Minor
    :包括次版本号,例如:apache/2.0 
    Min
    :仅apache的完整版本号,例如:apache/2.0.54 
    OS
    :包括操作系统类型,例如:apache/2.0.54Unix 
    Full
    :包括apache支持的模块及模块版本号,例如:Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7g 
    ServerSignature Off #
    在页面产生错误时是否出现服务器版本信息。推荐设置为Off 


    (4)
    持久性连接设置 

    KeepAlive On #
    开启持久性连接功能。即当客户端连接到服务器,下载完数据后仍然保持连接状态。 

    MaxKeepAliveRequests 100 #
    一个连接服务的最多请求次数。 

    KeepAliveTimeout 30 #
    持续连接多长时间,该连接没有再请求数据,则断开该连接。缺省为15秒。 

    别名设置 
    对于不在DocumentRoot指定的目录内的页面,既可以使用符号连接,也可以使用别名。别名的设置如下: 

    Alias /download/ "/var/www/download/" #
    访问时可以输入:http://www.custing.com/download/ 

    <Directory "/var/www/download"> #
    对该目录进行访问控制设置 
    Options Indexes MultiViews 
    AllowOverride AuthConfig 
    Order allow,deny 
    Allow from all 
    </Directory> 


    CGI
    设置 

    ScriptAlias /cgi-bin/ "/mnt/software/apache2/cgi-bin/" #
    访问时可以:http://www.clusting.com/cgi-bin/ 。但是该目录下的CGI脚本文件要加可执行权限! 

    <Directory "/usr/local/apache2/cgi-bin"> #
    设置目录属性 
    AllowOverride None 
    Options None 
    Order allow,deny 
    Allow from all 
    </Directory> 


    个人主页的设置 (public_html) 

    UserDir public_html (
    间用户的主页存储在用户主目录下的public_html目录下 URL http://www.clusting.com/~bearzhang/file.html 将读取 /home/bearzhang/public_html/file.html 文件) 

    chmod 755 /home/bearzhang #
    使其它用户能够读取该文件。 

    UserDir /var/html (the URL 
    http://www.clusting.com/~bearzhang/file.html 将读取 /var/html/bearzhang/file.html) 

    UserDir /var/www/*/docs (the URL 
    http://www.clusting.com/~bearzhang/file.html 将读取 /var/www/bearzhang/docs/file.html) 

    日志的设置 

    (1)
    错误日志的设置 
    ErrorLog logs/error_log #
    日志的保存位置 
    LogLevel warn #
    日志的级别 

    显示的格式日下: 
    [Mon Oct 10 15:54:29 2005] [error] [client 192.168.10.22] access to /download/ failed, reason: user admin not allowed access 

    (2)
    访问日志设置 

    日志的缺省格式有如下几种: 
    LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined 
    LogFormat "%h %l %u %t "%r" %>s %b" common #common
    为日志格式名称 
    LogFormat "%{Referer}i -> %U" referer 
    LogFormat "%{User-agent}i" agent 
    CustomLog logs/access_log common 


    格式中的各个参数如下: 

    %h --
    客户端的ip地址或主机名 

    %l --The
    这是由客户端 identd 判断的RFC 1413身份,输出中的符号 "-" 表示此处信息无效。 

    %u --
    HTTP认证系统得到的访问该网页的客户名。有认证时才有效,输出中的符号 "-" 表示此处信息无效。 

    %t --
    服务器完成对请求的处理时的时间。 

    "%r" --
    引号中是客户发出的包含了许多有用信息的请求内容。 

    %>s --
    这个是服务器返回给客户端的状态码。 

    %b --
    最后这项是返回给客户端的不包括响应头的字节数。 

    "%{Referer}i" --
    此项指明了该请求是从被哪个网页提交过来的。 

    "%{User-Agent}i" --
    此项是客户浏览器提供的浏览器识别信息。 

    下面是一段访问日志的实例: 
    192.168.10.22 - bearzhang [10/Oct/2005:16:53:06 +0800] "GET /download/ HTTP/1.1" 200 1228 
    192.168.10.22 - - [10/Oct/2005:16:53:06 +0800] "GET /icons/blank.gif HTTP/1.1" 304 - 
    192.168.10.22 - - [10/Oct/2005:16:53:06 +0800] "GET /icons/back.gif HTTP/1.1" 304 - 

    各参数的详细解释,请参阅:http://www.clusting.com/Apache/ApacheManual/logs.html 


    用户认证的配置 
    (1)in the httpd.conf: 
    AccessFileName .htaccess 
    ......... 
    Alias /download/ "/var/www/download/" 
    <Directory "/var/www/download"> 
    Options Indexes 
    AllowOverride AuthConfig 
    </Directory> 
    (2) create a password file: 
    /usr/local/apache2/bin/htpasswd -c /var/httpuser/passwords bearzhang 

    (3)onfigure the server to request a password and tell the server which users are allowed access. 
    vi /var/www/download/.htaccess: 
    AuthType Basic 
    AuthName "Restricted Files" 
    AuthUserFile /var/httpuser/passwords 
    Require user bearzhang 
    #Require valid-user #all valid user 

    虚拟主机的配置 
    (1)
    基于IP地址的虚拟主机配置 
    Listen 80 
    <VirtualHost 172.20.30.40> 
    DocumentRoot /www/example1 
    ServerName www.example1.com 
    </VirtualHost> 
    <VirtualHost 172.20.30.50> 
    DocumentRoot /www/example2 
    ServerName www.example2.org 
    </VirtualHost> 


    (2)
    基于IP和多端口的虚拟主机配置 
    Listen 172.20.30.40:80 
    Listen 172.20.30.40:8080 
    Listen 172.20.30.50:80 
    Listen 172.20.30.50:8080 

    <VirtualHost 172.20.30.40:80> 
    DocumentRoot /www/example1-80 
    ServerName www.example1.com 
    </VirtualHost> 

    <VirtualHost 172.20.30.40:8080> 
    DocumentRoot /www/example1-8080 
    ServerName www.example1.com 
    </VirtualHost> 

    <VirtualHost 172.20.30.50:80> 
    DocumentRoot /www/example2-80 
    ServerName www.example1.org 
    </VirtualHost> 

    <VirtualHost 172.20.30.50:8080> 
    DocumentRoot /www/example2-8080 
    ServerName www.example2.org 
    </VirtualHost> 

    (3)
    单个IP地址的服务器上基于域名的虚拟主机配置: 
    # Ensure that Apache listens on port 80 
    Listen 80 

    # Listen for virtual host requests on all IP addresses 
    NameVirtualHost *:80 

    <VirtualHost *:80> 
    DocumentRoot /www/example1 
    ServerName www.example1.com 
    ServerAlias example1.com. *.example1.com 
    # Other directives here 
    </VirtualHost> 

    <VirtualHost *:80> 
    DocumentRoot /www/example2 
    ServerName www.example2.org 
    # Other directives here 
    </VirtualHost> 

    (4)
    在多个IP地址的服务器上配置基于域名的虚拟主机: 
    Listen 80 

    # This is the "main" server running on 172.20.30.40 
    ServerName server.domain.com 
    DocumentRoot /www/mainserver 

    # This is the other address 
    NameVirtualHost 172.20.30.50 

    <VirtualHost 172.20.30.50> 
    DocumentRoot /www/example1 
    ServerName www.example1.com 
    # Other directives here ... 
    </VirtualHost> 

    <VirtualHost 172.20.30.50> 
    DocumentRoot /www/example2 
    ServerName www.example2.org 
    # Other directives here ... 
    </VirtualHost> 

    (5)
    在不同的端口上运行不同的站点(基于多端口的服务器上配置基于域名的虚拟主机) 
    Listen 80 
    Listen 8080 

    NameVirtualHost 172.20.30.40:80 
    NameVirtualHost 172.20.30.40:8080 

    <VirtualHost 172.20.30.40:80> 
    ServerName www.example1.com 
    DocumentRoot /www/domain-80 
    </VirtualHost> 

    <VirtualHost 172.20.30.40:8080> 
    ServerName www.example1.com 
    DocumentRoot /www/domain-8080 
    </VirtualHost> 

    <VirtualHost 172.20.30.40:80> 
    ServerName www.example2.org 
    DocumentRoot /www/otherdomain-80 
    </VirtualHost> 

    <VirtualHost 172.20.30.40:8080> 
    ServerName www.example2.org 
    DocumentRoot /www/otherdomain-8080 
    </VirtualHost> 

    (6)
    基于域名和基于IP的混合虚拟主机的配置: 
    Listen 80 

    NameVirtualHost 172.20.30.40 

    <VirtualHost 172.20.30.40> 
    DocumentRoot /www/example1 
    ServerName www.example1.com 
    </VirtualHost> 

    <VirtualHost 172.20.30.40> 
    DocumentRoot /www/example2 
    ServerName www.example2.org 
    </VirtualHost> 

    <VirtualHost 172.20.30.40> 
    DocumentRoot /www/example3 
    ServerName www.example3.net 
    </VirtualHost> 



    SSL
    加密的配置 

    首先在配置之前先来了解一些基本概念: 

    证书的概念:首先要有一个根证书,然后用根证书来签发服务器证书和客户证书,一般理解:服务器证书和客户证书是平级关系。SSL必须安装服务器证书来认证。因此:在此环境中,至少必须有三个证书:根证书,服务器证书,客户端证书。在生成证书之前,一般会有一个私钥,同时用私钥生成证书请求,再利用证书服务器的根证来签发证书。 

    SSL
    所使用的证书可以自己生成,也可以通过一个商业性CA(如Verisign Thawte)签署证书。 

    签发证书的问题:如果使用的是商业证书,具体的签署方法请查看相关销售商的说明;如果是知己签发的证书,可以使用openssl自带的CA.sh脚本工具。 

    如果不为单独的客户端签发证书,客户端证书可以不用生成,客户端与服务器端使用相同的证书。 
    (1) conf/ssl.conf
    配置文件中的主要参数配置如下: 

    Listen 443 
    SSLPassPhraseDialog buildin 
    #SSLPassPhraseDialog exec:/path/to/program 
    SSLSessionCache dbm:/usr/local/apache2/logs/ssl_scache 
    SSLSessionCacheTimeout 300 
    SSLMutex file:/usr/local/apache2/logs/ssl_mutex 

    <VirtualHost _default_:443> 

    # General setup for the virtual host 
    DocumentRoot "/usr/local/apache2/htdocs" 
    ServerName www.example.com:443 
    ServerAdmin you@example.com 
    ErrorLog /usr/local/apache2/logs/error_log 
    TransferLog /usr/local/apache2/logs/access_log 

    SSLEngine on 
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL 

    SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt 
    SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key 
    CustomLog /usr/local/apache2/logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b" 

    </VirtualHost> 

    (2)
    创建和使用自签署的证书: 
    a.Create a RSA private key for your Apache server 
    /usr/local/openssl/bin/openssl genrsa -des3 -out /usr/local/apache2/conf/ssl.key/server.key 1024 

    b. Create a Certificate Signing Request (CSR) 
    /usr/local/openssl/bin/openssl req -new -key /usr/local/apache2/conf/ssl.key/server.key -out /usr/local/apache2/conf/ssl.key/server.csr 

    c. Create a self-signed CA Certificate (X509 structure) with the RSA key of the CA 
    /usr/local/openssl/bin/openssl req -x509 -days 365 -key /usr/local/apache2/conf/ssl.key/server.key -in /usr/local/apache2/conf/ssl.key/server.csr -out /usr/local/apache2/conf/ssl.crt/server.crt 

    /usr/local/openssl/bin/openssl genrsa 1024 -out server.key 
    /usr/local/openssl/bin/openssl req -new -key server.key -out server.csr 
    /usr/local/openssl/bin/openssl req -x509 -days 365 -key server.key -in server.csr -out server.crt 

    (3)
    创建自己的CA(认证证书),并使用该CA来签署服务器的证书。 
    mkdir /CA 
    cd /CA 
    cp openssl-0.9.7g/apps/CA.sh /CA 
    ./CA.sh -newca 
    openssl genrsa -des3 -out server.key 1024 
    openssl req -new -key server.key -out server.csr 
    cp server.csr newreq.pem 
    ./CA.sh -sign 
    cp newcert.pem /usr/local/apache2/conf/ssl.crt/server.crt 
    cp server.key /usr/local/apache2/conf/ssl.key/

    展开全文
  • 所有的Apache管理员都会遇到一个问题,就是在一台物理系统上运行多个版本的Apache服务器,或是运行多个同一版本的Apache服务器的副本,对于前者,在编译时为不同版本的Apache指定不同的安装目录即可。例如,在下面的...
  • apache服务器参数设置

    2014-03-30 21:55:00
    用于指定apache服务器的配置文件及日志文件存放的根目录。服务器的基础目录,apache所有内容都是相对于此目录(配置文件除外) Listen:监听---格式Listen [ip]:portnumber [protocol] Listen 80 监听端口 lis.....
  • Apache服务器无法访问问题

    千次阅读 2011-07-26 12:00:02
    对于刚使用Redhat Enterprise Linux4 或Fedora Core 2以上/CentOS 4的用户,一定会为Apache经常无法正常运转,报以"Permission denied"等错误而大为不解,甚至大为恼火。 其实这是因为这些系统里激活了SELinux,而...
  • 尽管它也可以作为独立的Java Web服务器,它在对静态资源(如HTML文件或图像文件)的处理速度,以及提供的Web服务器管理功能方面都不如其他专业的HTTP服务器,如IIS和Apache服务器。 因此在实际应用中,常常把...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    文件为doc版,可自行转成txt,在手机上看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! ...入门学习Linux常用必会60个命令实例详解 ...Linux提供了大量的命令,利用它...
  • apache服务器的启动和关闭

    万次阅读 2015-03-10 23:03:21
     对于apacheserver服务器的启动有以下几种方式:  1:通过服务控制面板直接对apache服务进行停止和启动  2:通过apache monitor进行停止和启动  3:通过命令进行停止和启动  通过命令进行操作之前,需
  • 我们都知道Apache是一个性能非常优秀的web服务器,它能够稳定的工作,对各种插件支持的也非常优秀,所以很多公司都选择使用Apache来搭建web服务器。在日常工作中,我们不仅要保证网站的稳定运行,而且还需要统计网站...
  • 1. 什么是网站的伪静态?...个人认为: 伪静态相对于纯静态来说, 不用生成静态文件, 只需要写正则匹配URL路由即可, 搜索引擎喜欢静态文件, 那么伪静态正好投 其所好 3. 伪静态如何配置? 我们采
  • 但是,对于访问量稍大的站点,Apache的这些默认配置是无法满足需求的,我们仍需调整Apache的一些参数,使Apache能够在大访问量环境下发挥出更好的性能。CentOS系统中,以下我们对Apache配置文件httpd.conf中对性能影响较...
  • 主服务器设置 Apache服务器需要各种设置,以定义自己使用各种参数以提供Web服务。对于使用虚拟主机的情况,除了在虚拟主机的定义项中覆盖的设置之外(有的设置必须重新定义),这里的设置也是虚拟主机的缺省设置。 ...
  • Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...
  • apache web服务器

    2019-10-08 02:52:19
    一、安装 apache2.4.23 新版本的 httpd-2.4 新增以下特性; 新增模块; mod_proxy_fcgi(可提供 fcgi 代理) mod_ratelimit(限制用户带宽) mod_request(请求模块,对请求做过滤) mod_remoteip(匹配...
  • 维持最大的系统正常运行时间对于按需计算的成功至关重要。... 本系列中的分步过程显示了如何在Linux™上构建高可用性的Apache Web服务器,WebSphere®MQ队列管理器,LoadLeveler集群,WebSphere Appli...
  • Apache是​​可靠的,众所周知的,并且对于基本安装而言很容易配置。 为更复杂的设置(例如多个网站)进行配置实际上并没有那么困难。 更多Linux资源 Linux命令备忘单 高级Linux命令备忘单 免费在线课程...
  • Windows下Tomcat与Apache服务器集成

    千次阅读 2009-10-19 21:28:00
     对于不同的HTTP服务器,Tomcat提供了不同的JK插件的实现模块: 与Windows下的Apache HTTP服务器集成:mod_jk.so。 与Linux下的Apache HTTP服务器集成:mod_jk_linux.so。 与IIS服务器集成:isapi_redirect.dll...
  • 如何判断Apache服务器的工作模式

    千次阅读 2011-01-11 12:41:00
    如何才能知道当前的apache2使用什么工作机制?我们可以通过httpd -l命令列出apache... 如下面所示: Compiled in modules: core.c prefork.c http_core.c  mod_so.c 这表明当前apache2的工作方式是 prefork 对于 p
  • Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。  主站点的配置(基本配置)...其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。  PidFile logs/httpd.pid #第一个ht
  • Apache 服务器上 配置同IP多站点其实很简单,只要找到 httpd.conf 配置文件来修改就行。 对于 Linux 主机 httpd.conf 文件大概位于:/etc/httpd/conf 目录下。(其他的自己找了) 大概有两种方法实现:一种是...
  • Apache服务器访问过慢分析及解决

    万次阅读 2017-08-04 18:45:49
    起因:线上的一台服务器,最近总是出现 访问 很慢的情况发生,点击一个链接要2秒钟以上才能打开,按照我们对于访问人数的估计,服务器应该不至于响应这么慢,从而需要针对这个问题进行分析,来解决网站访问过慢。...
  • LINUX下Apache服务器配置全攻略(三)作者:王波 OSO奥索 主服务器设置 Apache服务器需要各种设置,以定义自己使用各种参数以提供Web服务。对于使用虚拟主机的情况,除了在虚拟主机的定义项中覆盖的设置之外(有的...
  • 对于 WAMPSERVER图标橙色,无法启动Apache服务器 这个问题困扰我半天,于是上网查质料发现 可能是你的端口号被占用了,所有在计算机里面找到服务 再找到sql Servle 服务 ,查看是否为开启状态,如果是 关闭就行了, ...

空空如也

1 2 3 4 5 ... 20
收藏数 3,054
精华内容 1,221
关键字:

对于apache服务器