18、Apache服务器

--

web 服务器

survey.netcraft.net     --此网站会有每月份的世界上网站使用的WEB服务器的使用率统计

www.apache.org

apache a patch server

nginx

IIS

lighttpd

IBM websphere

tomcat   jboss     weblogic

[[email protected] ~]# yum install httpd* -y

[[email protected] share]# rpm -qa |grep httpd

httpd-manual-2.2.3-31.el5 --文档包

httpd-2.2.3-31.el5 --主程序包

httpd-devel-2.2.3-31.el5 --开发包

# rpm -qa |grep httpd --rhel6.3下的结果

httpd-manual-2.2.15-15.el6_2.1.noarch

httpd-tools-2.2.15-15.el6_2.1.x86_64

httpd-devel-2.2.15-15.el6_2.1.x86_64

httpd-2.2.15-15.el6_2.1.x86_64

# vim /etc/httpd/conf/httpd.conf

ServerTokens OS --向客户端提供一些服务器和信息

[[email protected] ~]# curl -I http://10.1.1.35

HTTP/1.1 200 OK

Date: Tue, 06 Mar 2012 02:03:38 GMT

Server: Apache/2.2.3 (Red Hat)

Content-Type: text/html;charset=ISO-8859-1

serverRoot "/etc/httpd" --存放配置文件一主目录

PidFile run/httpd.pid --pid文件

Timeout 120 --连接超时时间

KeepAlive Off --一般是短时间下载文件比较多的网站  在ON的时候 一次连接多次请求

MaxKeepAliveRequests 100

KeepAliveTimeout 15

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

keepalive参数修改小测试

off 的情况,别人刷新你的一个页面

netstat -nt |grep :80    可以看到一个IP有多次连接

on的情况,别人刷新页面

netstat -nt |grep :80    可以看到一个IP只有一次连接(15秒后再刷新会产生新连接)

两分钟左右不刷新,TIME_WAIT连接断开

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

Listen 80 --监听端口

<IfModule prefork.c> --预派生模式 ,lamp一般用这种

StartServers       8

MinSpareServers    5

MaxSpareServers   20

ServerLimit      256

MaxClients       256 --最大并发数

MaxRequestsPerChild  4000

</IfModule>

[[email protected] ~]# httpd -l

Compiled in modules:

core.c

prefork.c --可以看到rhel5里带的rpm版apache运行在prefork模式

http_core.c

mod_so.c

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

rpm里prefork模式和worker模式都在配置文件里,为什么只使用prefork?

# cd /usr/sbin/

# mv httpd httpd.prefork

# mv httpd.worker httpd

# /etc/init.d/httpd restart

# httpd -l

Compiled in modules:

core.c

worker.c --现在换成worker模式了

http_core.c

mod_so.c

--在源码编译版的apache里,使用哪一种模式就留着他的配置段,把别的模式注释掉就可以了

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

Listen 80 --监听端口

下面的都属于叫DSO    dynamic  shared object 动态共享模块

LoadModule auth_basic_module modules/mod_auth_basic.so

LoadModule auth_digest_module modules/mod_auth_digest.so

LoadModule authn_file_module modules/mod_authn_file.so

LoadModule authn_alias_module modules/mod_authn_alias.so

LoadModule authn_anon_module modules/mod_authn_anon.so

LoadModule authn_dbm_module modules/mod_authn_dbm.so

LoadModule authn_default_module modules/mod_authn_default.so

LoadModule authz_host_module modules/mod_authz_host.so

LoadModule authz_user_module modules/mod_authz_user.so

LoadModule authz_owner_module modules/mod_authz_owner.so

LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

LoadModule authz_dbm_module modules/mod_authz_dbm.so

LoadModule authz_default_module modules/mod_authz_default.so

..................................

Include conf.d/*.conf --表示conf.d/下的*.conf配置文件生效

User apache

Group apache --以什么身份运行

ServerAdmin [email protected] --管理邮箱

DocumentRoot "/var/www/html" --网站家目录

DirectoryIndex index.html index.html.var --定义主页文件

AccessFileName .htaccess --网页加密

ErrorLog logs/error_log --错误日志

LogLevel warn --日志等级

--下面为日志的格式

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

# firefox file:///var/www/manual/index.html

/etc/init.d/httpd start

使用浏览器:输入自己的IP,或者127.0.0.1回环地址会看到一个红帽的欢迎页面

例一:建立网站主页

在网站根目录下  建立一个主页文件

echo ‘main page‘ > /var/www/html/index.html

http://127.0.0.1/ --就可以看到main page的信息,也就是直接访问到主页

把主页文件写成html标签的格式如下:

<html>

<head>

<title>笔记站点</title>

</head>

<body>

<center><h1>欢迎来我的网站[email protected][email protected]</h1></center>

</body>

</html>

例二:修改网站根目录

vim /etc/httpd/conf/httpd.conf

281:  DocumentRoot "/www" --修改网站根目录为/www

306: <Directory "/www"> --把这个也对应的修改为/www

mkdir /www

/etc/init.d/httpd reload --重装启apache服务

echo ‘new main page‘ > /www/index.html

http://127.0.0.1/ --看到新网站根目录下的new main page信息

--注意,不要开启selinux,否则换新的家目录的话,会造成报目录不存在的错误

例三:修改主页类型或者主页名

DirectoryIndex index.php  index.html.var

/etc/init.d/httpd reload

使用浏览器访问,发现没有返回主页信息,因为上面的意思为:先找网站家目录下的index.php,不存在话,再找index.html.var,都不存在,就表示找不到主页

echo ‘php main page‘ > /www/index.php

再使用浏览器访问,就会返回php main page信息

elinks 10.1.1.45 --elinks是一个文本模式的web浏览器

例四:修改语言集和字符集

DefaultLanguage zh-CN --默认语言集打开注释,并改为简体中文zh-CN

LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv  zh-TW  --语言优先级,把zh-CN写到最前

AddDefaultCharset UTF-8 --字符编码,如果中文的话,有可能需要改为gb2312或者gbk,因你的网站文件的默认编码而异

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

关于apache的标签,容器(访问控制)

directory (目录)    file(文件)  location (位置,url)

<Directory "/www"> --对/www目录进行的控制

Options Indexes FollowSymLinks  --允许列表,符号链接

AllowOverride None --不使用.htaccess控制

Order allow,deny

Allow from all --针对/www目录的访问权限的控制,这两句代表允许所有访问

</Directory> --容器结束

indexes   --指当找不到默认的主页文件时,就把此目录下的文件或者目录以列表形式显示出来

FollowSymlinks  --允许符号链接,扩展了网站根目录,允许链接到网站根目录以外

allowoverride none --可以把none改为all来允许.htaccess控制

order allow,deny   --指定的是先允许,后拒绝

allow  from all   --指定允许所有

例五:把网站的文件修改成目录列表的形式

条件1.

Options Indexes FollowSymLinks --相应目录要有indexes参数

条件2.

没有主页文件

条件3.

符合上面两个条件,就会访问到redhat的欢迎页面

vim /etc/httpd/conf.d/welcome.conf  --注释掉这个欢迎页面,或者是删除它

/etc/init.d/httpd reload

elinks  127.0.0.1  --可以看到是以列表形式显示了

例六:访问权限控制 --注意这些访问权限控制是针对容器的

Order allow,deny

Allow from all --允许所有

Order allow,deny

deny from all --拒绝所有

Order allow,deny

allow from all

deny from 2.2.2.35 --允许所有,但拒绝35

Order allow,deny

allow from all

deny from all --拒绝所有

Order allow,deny

deny from all

allow from all --还是拒绝所有,读取的顺序由order决定

练习:在/www目录下新建一个bbs目录,也就是/www/bbs,再在/www/bbs里建立一个index.html文件,使用directory目录容器控制拒绝35访问,别的都允许

<Directory "/www/bbs"> --不能嵌套,所以这里写绝对路径

order allow,deny

allow from all

deny from 10.1.1.35 --可以把10.1.1.35换成.cluster.com这个表示cluster.com这个域下的所有主机名都不能访问(需要hosts文件和DNS来支持)

</Directory>

--加上这段话,不要嵌套在/www的目录容器里

例七.files 容器 --针对文件的控制

<Directory "/www">

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

<files "1"> --表示35这个客户端不能访问/www/1,而且如果要控制/www/bbs/1这个文件,不能在这里写成<files "bbs/1">,需要在/www/bbs这个目录的directory容器里再嵌套files标签来控制

order allow,deny

allow from all

deny from 10.1.1.35

</files>

</Directory>

<files "/www/1">

order allow,deny

deny from all

</files> --这种写法没有生效,不对,所以要files容器嵌套到目录容器内部,要上面的那种写法

--下面这段是apache的默认的一个files容器的配置示例

<Files ~ "^\.ht"> --以.ht开头的文件不被客户端用户看到

Order allow,deny

Deny from all

</Files>

例:网站下所有目录(包括子目录)以ule开头的文件都不能被访问

<Files ~ "^ule">

Order allow,deny

Deny from all

</Files>

练习:网站下所有目录(包括子目录)以.txt结尾的文件都不能被访问

<Files ~ "\.txt$">

Order allow,deny

Deny from all

</Files>

练习:网站下所有.gif   .jpeg    .png的图片都被拒绝

<Files ~ "\.(gif|jpeg|png)$">

Order allow,deny

Deny from all

</Files>

例八:location 容器

<Location "/bbs">

order allow,deny

deny from all

</Location>

--这是对http://IP/bbs    这种URL来进行权限控制

--location容器有时候和directory有可能重合,并且配置有冲突,(如果一个是允许,一个是拒绝,无论是location拒绝,还是directory拒绝,最终结果都是拒绝的)下面这种情况,http://IP/bbs是不能访问的

<Location "/bbs">

order allow,deny

deny from all

</Location>

<Directory "/www/bbs">

order allow,deny

allow from all

</Directory>

--注意:在rhel6里,有细微变化,location的优先级要高

例九:对mod_status和mod_info这两个DSO配置服务器的信息查看

176 LoadModule status_module modules/mod_status.so

890 <Location /server-status>

891     SetHandler server-status

892     Order deny,allow

893     Deny from all

894     Allow from 10.1.1.35

895 </Location>

178 LoadModule info_module modules/mod_info.so

902 <Location /server-info>

903     SetHandler server-info

904     Order deny,allow

905     Deny from all

906     Allow from 10.1.1.35

907 </Location>

http://IP/server-status

http://IP/server-info

例十:对网站目录使用apache的基本加密功能    .htaccess

第一种做法:

1。

# vim /www/.htaccess   --对哪个目录进行限制,就在哪个目录下建立此文件

authname "please input your username and password! @[email protected]"

authtype basic

authuserfile /etc/httpd/userpasswd

require valid-user

2。

# htpasswd -c /etc/httpd/userpasswd  aaa  --创建此文件,并加入一个用户,自定义密码,注意此用户与系统普通用户无关

New password:

Re-type new password:

Adding password for user aaa

# htpasswd  /etc/httpd/userpasswd  bbb  --再增加一个用户

New password:

Re-type new password:

Adding password for user bbb

# cat /etc/httpd/userpasswd

aaa:JscuRCtWV0Sh.

bbb:C6wrx4pFco/lk --密码为密文

3。

# vim /etc/httpd/conf/httpd.conf

<Directory "/www">

Options Indexes FollowSymLinks

AllowOverride all --改成all,支持.htaccess加密

Order allow,deny

Allow from all

</Directory>

4。

# /etc/init.d/httpd restart

http://IP 访问时,需要验证

再次访问需要清空浏览器缓存才需要验证

第二种做法:

# vim /etc/httpd/conf/httpd.conf

<Directory "/www">

Options Indexes FollowSymLinks

AllowOverride None --none不用改成all

Order allow,deny

Allow from all

authname "please input your username and password! @[email protected]"

authtype basic

authuserfile /etc/httpd/userpasswd

require valid-user --把这四句直接加到这个目录标签里

</Directory>

2,

# htpasswd -c /etc/httpd/userpasswd  aaa

3,

# /etc/init.d/httpd restart --重启后,验证,也可以

练习:针对家目录下的一个子目录打开验证

====================================

虚拟主机 --用apache或nginx就可以做

一台服务器跑多台web服务

VPS   virtual  private  server   虚拟专用服务器 --使用虚拟化技术来做

使用虚拟化技术(vitural sever 或者  vmware   EXS server  )把一台服务器分隔成几个服务器,每个都拥有独立的CPU资源,内存资源,磁盘资源,独立IP等

mkdir /www/aaa

mkdir /www/bbb

mkdir /www/ccc

echo "aaa main page" > /www/aaa/index.html

echo "bbb main page" > /www/bbb/index.html

echo "ccc main page" > /www/ccc/index.html

例十二:基于IP的虚拟主机

NameVirtualHost *:80

<VirtualHost *:80>

DocumentRoot /www/aaa

ServerName 10.1.1.36

ErrorLog logs/36-error_log

CustomLog logs/36-access_log common

</VirtualHost>

<VirtualHost *:80>

DocumentRoot /www/bbb

ServerName 10.1.1.37

ErrorLog logs/37-error_log

CustomLog logs/37-access_log common

</VirtualHost>

<VirtualHost *:80>

DocumentRoot /www/ccc

ServerName 10.1.1.38

ErrorLog logs/38-error_log

CustomLog logs/38-access_log common

</VirtualHost>

[[email protected] ~]# ifconfig eth0:0 10.1.1.37 netmask 255.255.255.0

[[email protected] ~]# ifconfig eth0:1 10.1.1.38 netmask 255.255.255.0

[[email protected] ~]# /etc/init.d/httpd restart

验证:

http://10.1.1.36/

http://10.1.1.37/

http://10.1.1.38/ --实际情况每个IP使用DNS对应自己的域名

缺点很明显:浪费IP地址资源

例十三:基于端口的虚拟主机

Listen 80 --这一句默认就有,不用再加

Listen 8000

Listen 8080

<VirtualHost *:80>

DocumentRoot /www/aaa

ServerName 10.1.1.36

ErrorLog logs/36-error_log

CustomLog logs/36-access_log common

</VirtualHost>

<VirtualHost *:8000>

DocumentRoot /www/bbb

ServerName 10.1.1.36

ErrorLog logs/37-error_log

CustomLog logs/37-access_log common

</VirtualHost>

<VirtualHost *:8080>

DocumentRoot /www/ccc

ServerName 10.1.1.36

ErrorLog logs/38-error_log

CustomLog logs/38-access_log common

</VirtualHost>

/etc/init.d/httpd restart

验证:

http://10.1.1.36/

http://10.1.1.36:8000/

http://10.1.1.36:8080/

缺点:客户端访问时输入端口不方便,对客户端来说不够透明:还有就是开放端口多了,安全性降低

客户端

路由器

防火墙

|

|

反向代理

网站

例十四:基于域名的虚拟主机

--需要DNS的cname记录的支持,或者A记录

aaa.web.com

bbb.web.com

ccc.web.com

--以下架构是DNS服务器和apache服务器的IP在同一台机器10.1.1.36上,也可以考虑分成两台服务器来做

[[email protected] ~]# yum install bind*  -y

[[email protected] ~]# vim /var/named/chroot/etc/named.conf

options {

directory "/var/named";

};

zone "web.com"  IN {

type master;

file "data/master.web.com.zone";

};

[[email protected] ~]# vim /var/named/chroot/var/named/data/master.web.com.zone

$TTL 86400

@       IN      SOA     sdfasdfsa.   sfddsafas. (

2011032601

120

240

360

86400 )

IN      NS      sdfsafasfddfsa.web.com.

aaa     IN      A       10.1.1.36 --这里为apache服务器的IP

bbb     IN      CNAME   aaa

ccc     IN      CNAME   aaa

[[email protected] ~]# /etc/init.d/named restart

[[email protected] ~]# vim /etc/httpd/conf/httpd.conf

NameVirtualHost *:80

<VirtualHost *:80>

DocumentRoot /www/aaa

ServerName aaa.web.com

ErrorLog logs/aaa-error_log

CustomLog logs/aaa-access_log common

</VirtualHost>

<VirtualHost *:80>

DocumentRoot /www/bbb

ServerName bbb.web.com

ErrorLog logs/bbb-error_log

CustomLog logs/bbb-access_log common

</VirtualHost>

<VirtualHost *:80>

DocumentRoot /www/ccc

ServerName ccc.web.com

ErrorLog logs/ccc-error_log

CustomLog logs/ccc-access_log common

</VirtualHost>

[[email protected] ~]# /etc/init.d/httpd restart

--以下是客户端的验证

[[email protected] data]# vim /etc/resolv.conf

nameserver  10.1.1.36 --DNS指向DNS服务器的IP

http://aaa.web.com/

http://bbb.web.com/

http://ccc.web.com/

思考:

1。上面三个域名,那么我直接用IP是能否访问,访问的是哪一个?为什么?

答案:哪个虚拟主机在最前面,直接使用IP访问的就是哪一个

2。配置了虚拟主机后,那么我原来的DocumentRoot里指的原网站家目录是否还可用?如果不可用,如何解决?

答案:不能用。

除非再为原家目录再建立一个虚拟主机

==================================

扩展部分

使用第三方模块   实现apache限速

/share/soft/lamp/apache_source/mod-cband-0.9.7.2.tgz

/share/soft/lamp/apache_source/mod_cband.pdf --官方PDF文档

解压并CD进去进行编译

tar xvf mod-cband-0.9.7.2.tgz -C /usr/src/

cd /usr/src/mod-cband-0.9.7.2/

./configure ;make ;make install

确认/etc/httpd/conf/httpd.conf里是否自动加载了下面这句话

LoadModule cband_module       /usr/lib/httpd/modules/mod_cband.so

针对虚拟主机new.cluster.com进行限速

NameVirtualHost *:80

<VirtualHost *:80>

DocumentRoot /www/aaa

ServerName news.cluster.com

ErrorLog logs/aaa.com-error_log

CustomLog logs/aaa.com-access_log common

cbandlimit 100M --指网站允许的总的下载流量

cbandperiod 1W --清空时间

cbandspeed 1024 10 30 --当前总带宽,每秒可以同时连接10个,最大的总连接数,1024在这里除以8就是kb每秒的单位

cbandremotespeed 10kb/s 3 3 --针对单一客户端下载速度为10kb/s,每秒可以同时3个连接,最多一个IP生成3个连接

<location /cband-status>

sethandler cband-status --使用http://IP/cband-status访问控制状态

</location>

<location /cband-status-me>

sethandler cband-status-me   ----使用http://IP/cband-status-me访问控制状态

</location>

</VirtualHost>

/etc/init.d/httpd restart

dd if=/dev/zero of=/www/aaa/123  bs=1M count=1000  --创建一个大点的文件,做下载测试

wget http://news.cluster.com/123   --使用wget下载,发现被限速了

使用下面的URL地址访问状态信息页面

http://news.cluster.com/cband-status

http://news.cluster.com/cband-status-me

==========================================================

网站的日志切割

www.cronolog.org

软件包位置:

ls /share/soft/soft/log/

cronolog-1.6.2.tar.gz  cronolog.pdf  cronosplit.pdf

解压到任意目录,我这里是/usr/src/

# tar xvf cronolog-1.6.2.tar.gz -C /usr/src

# cd /usr/src

# cd /usr/src/cronolog-1.6.2/

编译安装

# ./configure ;make ;make install

1,先注释掉虚拟主机,虚拟主机需要每个都配,为了方便,这里注意掉,使用原来的web服务器配置

vim /etc/httpd/conf/httpd.conf

修改:

CustomLog logs/access_log combined

改成:

CustomLog "|/usr/local/sbin/cronolog /opt/%Y/%m/%d/access_log" combined

--注意格式不要写错

重启apache后,过几秒,或者访问一下apache

就会在/opt下产生了

关于日志合并

因为有些日志分析软件,它是只分析access.log;当要分析多个网站的access.log的总流量,就需要把它们的access.log合并一起,再由分析软件去分析这个合并的log文件

# sort -m -k 4 -o  newaccess.log access_log access_log1

或者使用awstats这样的日志分析软件去做日志合并

==============================

================================

练习:

把自己系统对应的版本的iso里的文件挂载并拷贝到一个目录里(比如为/yum目录),

把ftp用户家目录设置为此目录,ftp保持默认配置(主要是要求允许匿名用户可登录,可下载就可以)

使其开机自动启动

2,继续配置你的httpd,让客户端在访问http://你的IP/yum  这个URL时,

会跳转到你的系统上的ftp用户的家目录(此家目录里放的就是iso里面所有文件

Alias /yum      "/yum" --前面的/yum为跳转路径,后面的/yum为根下的实际的yum目录,里面是iso的所有的包

<Directory "/yum">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

3,将你所有的虚拟机或真实机的/etc/yum.repos.d/rhel-source.repo配置成ftp或者http式的yum,使它们能够使用你的配置正确的安装和移除软件包

[rhel-source]

name=rhel6.3

baseurl=http://172.16.2.35/yum

enabled=1

gpgcheck=0

原文地址:https://www.cnblogs.com/steven9898/p/11331217.html

时间: 2024-10-08 10:06:53

18、Apache服务器的相关文章

Apache服务器的基本配置(详细)

一.WEB网站的基本概念: WWW的目的就是使信息更易于获取,而不管它们的地理位置在哪里.当使用超文本作为WWW文档的标准         格式后,人们开发了可以快速获取这些超文本文档的协议--HTTP协议,即超文本传输协议. 开放源代码的Apache(阿帕奇)服务器起初由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强.渐渐地,它开始在功能和速度上超越其他Web服务器.由于Apache服务器拥有牢靠可信的美誉

CentOS7:搭建SVN + Apache 服务器

CentOS7:搭建SVN + Apache 服务器 1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ httpd -version Server version: Apache/2.4.6 (CentOS) Server built:   Jul 18 2016 15:30:14 2. 安装svnserve 安装svnserve服务: $ sudo yum install subversion 检查svnserve是

Windows下配置Apache服务器并支持php

php环境的配置相对来说比较繁琐,网上教程大部分都是放一起说,总体感觉比较乱,其实Apache是一款通用的服务器软件,可以用来配置支持静态页面,php.Python.Java甚至asp等服务端语言,要把Apache理解成单独的服务器,并不一定和php搭档,只是和php配合是比较流行的一种组合方式,就比如lamp就是比较流行的网站架构,所以,首先我们来配置Apache,首先让服务器跑起来并能解析静态的html文件 首先我们去官网下载最新版本的Apache,首先来到首页:http://www.apa

单节点nginx为两台apache服务器提供负载均衡(转载)

单节点nginx为两台apache服务器提供负载均衡 需求:本实验为单节点nginx为两台apache服务器提供负载均衡,所有配置为最简单 1.初始化3台测试server,该关的关了 1 2 3 4 5 6 7 8 9 [[email protected] ~]# vim /etc/hosts 192.168.1.101   ng-master 192.168.1.161   web1 192.168.1.162   web2 [[email protected] ~]# yum clean a

Linux下安装配置Apache服务器

Linux下安装配置Apache服务器 1. 安装Apache [[email protected] ~]# yum –y install httpd 2. 启动Apache [[email protected] ~]# systemctl start httpd 3. 查看进程 [[email protected] ~]# systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib

php-基础知识-apache服务器

一.支持php的服务器有:iis.apache.lighted(德国制造).nginx(俄罗斯制造,功能强大[反向代理.服务器集群.流媒体服务器........].轻量) 二.今天主要分享apache的相关知识 1.官网(http://httpd.apache.org)下载 2.安装流程:百度一下吧,很久之前搭建的了,没有截图,强调下:ApacheRuntime--必须安装 测试安装是否成功:浏览器访问http://localhost/ 当看到显示有 "It works"表示成功 3.

apache服务器的下载和文档的查看

Apache是一款web服务器,由于它的跨平台性和安全性,被广泛地运行在几乎所有的计算机平台上,也是最流行的web服务器之一. Apache(ASF基金会的官方网站):http://httpd.apache.org/ 根据自己的需求,选择下载的版本 下载windows版本的apache,点击Files for Microsoft Windows 大致意思是说apache本身不提供已编译的安装包,只提供源码,如果你自己无法编译,可以选择下面这些官方推荐的第三方提供编译的网站. 其中后两个是有名的w

Windows 系统安装 Apache 服务器

[下载] 登录 https://httpd.apache.org/ 选择相应的版本下载,此处我下载的为 httpd-2.4.20-x64-vc14 点击 "Download" 点击 "Files for Microsoft Windows" 选择 "Apacheaus" 此时浏览器会跳到以下链接: http://www.apachehaus.com/cgi-bin/download.plx 选择 Apache 2.4.20x64 下载: 下载完成

2.搭建Apache服务器 + PHP支持

1.一般的网络架构图 一般的网络编程分为 :客户端开发和 服务器开发.IOS程序员主要从事客户端开发,也就是前端开发.后台一般是 PHP JSP ASP.NET来开发. 2.通过localhost来检验Apache是否正常工作 3.启动Apache服务器 启动:sudo apachectl -k start 重新启动:sudo apachectl -k restart 4.查找Apache的默认文档目录 Apache配置文件所在目录:cd /etc/apache2/ 打开Apache配置文件:s