0
点赞
收藏
分享

微信扫一扫

搭建前后端WEB生产环境-Apache

Apache简介


Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。


Apache安装


①、打开apache官网​​http://httpd.apache.org/​​  (或百度"download apache")。

搭建前后端WEB生产环境-Apache_apache

 

②、点击Download,出现以下界面 。 

搭建前后端WEB生产环境-Apache_apache_02

  ③、选择Windows版下载,点击链接。

搭建前后端WEB生产环境-Apache_apache_03


 ④、在新的界面中,会发现VC9和VC11字样,通过阅读相关内容得知,VC9是指用VS2008编译的代码,而VC11是用VS2012编译的,而用VS2012编译的无法在Windows XP和Server 2003中使用。算是为了兼容性好点吧,本人选的用VC9编译Apache,选择下载至此,下载过程完成!

搭建前后端WEB生产环境-Apache_apache_04



Apache服务器下载完成后,进行解压缩。

1.下载安装包

搭建前后端WEB生产环境-Apache_apache_05

 2.解压缩文件到你想放置的目录下,这里我本人选择放在D:\Apache-2.4.20目录下。 

   搭建前后端WEB生产环境-Apache_apache_06

 

  注意:Apache24名称可以根据自己情况改,本人改成“Apache”,如下:


搭建前后端WEB生产环境-Apache_apache_07

Apache服务器的配置

   先将 httpd.exe 所在目录路径添加到系统环境变量中。

   打开httpd.conf文件(比如在D:\Apache-2.4.20\Apache\conf下)

   ① 修改Apache实际绝对安装目录:最后结尾处不能带"/"或"\",因为后面配置的目录开头已经带有"/"或"\",如下图所示(其中“${SRVROOT}指定义的SRVROOT路径变量):

    搭建前后端WEB生产环境-Apache_apache_08(可以是“/”,也可以是“\”)。

    若你的80端口被占用(可在cmd下用命令netstat -ano | findstr 80),则将80端口改为别的保存。

  搭建前后端WEB生产环境-Apache_apache_09

  测试配置文件是否合法:

httpd -t

 

  ② 安装Apache的主服务:有了它,Apache才可启动。可以添加httpd.exe环境变量,然后打开cmd窗口,输入:


httpd -k install -n Apache

    该命令的意思是,安装Windows可托管的Apache服务,其中 "-n" 后面参数是自定义Windows服务名称,之后可使用Windows管理服务的命令来管理apache服务,如 "net start/stop apache"(启动/停止服务)。

    服务安装完毕,完毕后,会自动测试,若有问题,窗口会提示错误,此时请根据错误自行排查。

    正常安装完毕如下图所示:

   搭建前后端WEB生产环境-Apache_apache_10

    其中,Errors reported here must be corrected before the service can be started.意思是“此处报告的错误必须在服务开始前进行纠正”,这只是温馨提示,可忽略不管。


Apache服务器的启动

   配置好Apache服务器之后,我们便能启动服务器,Windows下Apache服务器的启动方式有三种。

   1.利用Windows启动

   打开计算机管理,找到apache服务项,选择后,右键单击,便可选择相应操作(启动、停止、重新启动) 

   搭建前后端WEB生产环境-Apache_apache_11

  

2.利用命令行启动


httpd -k start:          不会提示详细的错误信息。
httpd -k start -n apache:    会提示详细的错误信息,其中的"apache"修改为你的Apache服务名,可以到计算机服务里找。
httpd -k restart -n apache:   重启。
net start apache:         利用Windows托管服务命令。


   3.利用Apache服务器自身的视窗打开

   找到bin目录下的ApacheMonitor.exe,打开


   搭建前后端WEB生产环境-Apache_apache_12

  

双击运行,桌面右下角会出现图标,双击打开窗口界面,会看到如图所示:


   搭建前后端WEB生产环境-Apache_apache_13

  

点击左侧start,启动apache服务。

   补充句,从该界面可看出,其可以手动控制服务的开启与关闭,为了节省资源,关闭Apache服务器的时候,请先点击“Stop”关闭apache服务。当然,该服务也可以windows系统服务中关闭(建议设置成手动)。

   下图显示的是该服务成功显示的状态:


   搭建前后端WEB生产环境-Apache_apache_14

  

打开浏览器,输入访问http://localhost,若出现如下图所示界面,则Apache服务器的基本配置完毕,此时apache服务器已经可以运行。 


  搭建前后端WEB生产环境-Apache_apache_15

 Apache服务的卸载

    若Apache服务器软件不想用了,想要卸载,一定要先卸载apache服务,然后删除安装文件(切记,若直接删除安装路径的文件夹,会有残余文件在电脑,可能会造成不必要的麻烦),在cmd命令窗口,输入如下(建议先停止服务再删除):

httpd -k stop
httpd -k uninstall

Windows卸载服务命令:sc delete 服务名

   到此为止,Apache服务器的下载、安装、启动和卸载全部结束。

   :关于Apache服务器下的各个文件的用途,如下图所示:

   搭建前后端WEB生产环境-Apache_apache_16

Apache配置参数

参数说明

1、Global Environment 全局环境配置,决定Apache服务器的全局参数

3、Virtual Hosts—虚拟主机,虚拟主机不能与Main Server主服务器共存,当启用了虚拟主机之后,Main Server就不能使用了

2、Main server configuration主服务配置,相当于是Apache中的默认Web站点,如果我们的服务器中只有一个站点,那么就只需在这里配置就可以了。


全局
---------------------------------------------------------------------------

# 监听的端口,如有多块网卡,默认监听所有网卡
Listen 80

# 启动时加载的模块
LoadModule

# 加载的配置文件
Include

# 启动服务后转换的身份,在启动服务时通常以root身份,然后转换身份,这样增加系统安全
User apache
Group apache

# 在出现错误页的时候是否显示服务器操作系统的名称,ServerTokens Prod为不显示
ServerTokens OS

# 用于指定Apache的运行目录,服务启动之后自动将目录改变为当前目录,在后面使用到的所有相对路径都是相对这个目录下
ServerRoot "/usr/local/apache"

# 记录httpd守护进程的pid号码,这是系统识别一个进程的方法,系统中httpd进程可以有多个,但这个PID对应的进程是其他的父进程
PidFile run/httpd.pid

# 服务器与客户端断开的时间
Timeout 60

# 是否持续连接(因为每次连接都得三次握手,如果是访问量不大,建议打开此项,如果网站访问量比较大关闭此项比较好),修改为:KeepAlive On 表示允许程序性联机
KeepAlive Off

# 表示一个连接的最大请求数
MaxKeepAliveRequests 100

# 断开连接前的时间
KeepAliveTimeout 15


局部
---------------------------------------------------------------------------

# 管理员的邮箱
ServerAdmin root@localhost

# 访问域名或IP
ServerName www.example.com:80

# 如果客户端提供了主机名和端口,Apache将会使用客户端提供的这些信息来构建自引用URL。这些值与用于实现基于域名的虚拟主机的值相同,并且对于同样的客户端可用。CGI变量SERVER_NAME和SERVER_PORT也会由客户端提供的值来构建
UseCanonicalName Off

# 网页文件存放的目录
DocumentRoot "/var/www/html"

# 指定所要访问的主页的默认主页名字,默认首页文件名为index.html
DirectoryIndex index.html index.html.var

# 定义每个目录下的访问控制文件名,缺省为.htaccess
AccessFileName .htaccess

# 用于设置保存有不同MIME类型数据的文件名
TypesConfig /etc/mime.types

# 默认的网页的类型
DefaultType text/plain

# 当打开此项功能时,在记录日志的时候同时记录主机名,这需要服务器来反向解析域名,增加了服务器的负载,通常不建议开启
HostnameLookups Off

# 是否允许内存映射:如果httpd在传送过程中需要读取一个文件的内容,它是否可以使用内存映射。如果为on表示如果操作系统支持的话,将使用内存映射。在一些多核处理器的系统上,这可能会降低性能,如果在挂载了NFS的DocumentRoot上如果开启此项功能,可能造成因为分段而造成httpd崩溃
EnableMMAP off

# 这个指令控制httpd是否可以使用操作系统内核的sendfile支持来将文件发送到客户端。默认情况下,当处理一个请求并不需要访问文件内部的数据时(比如发送一个静态的文件内容),如果操作系统支持,Apache将使用sendfile将文件内容直接发送到客户端而并不读取文件
EnableSendfile off

# 错误日志存放的位置
ErrorLog logs/error_log

# Apache日志的级别
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

# 说明日志记录的位置,这里面使用了相对路径,所以ServerRoot需要指出,日志位置就存放在/etc/httpd/logs
CustomLog logs/access_log common
CustomLog logs/access_log combined

# 定义当客户请求的网页不存在,或者错误的时候是否提示apache的版本的一些信息
ServerSignature On

# 定义一些不在DocumentRoot下的文件,而可以将其映射到网页根目录中,这也是访问其他目录的一种方法,但在声明的时候切记目录后面加”/”
Alias /icons/ "/var/www/icons/"

# 对CGI模块儿的的别名,与Alias相似。
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

# Redirect参数是用来重写URL的,当浏览器访问服务器上的一个已经不存在的资源的时候,服务器返回给浏览器新的URL,告诉浏览器从该URL中获取资源。这主要用于原来存在于服务器上的文档改变位置之后,又需要能够使用老URL能访问到原网页
Redirect old-URI new-URL

# 添加语言
AddLanguage zh-TW .zh-tw

# Apache支持的语言
LanguagePriority 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-CN zh-TW

# 默认支持的编码
AddDefaultCharset UTF-8

# 支持的应用如果想支持对php的解析添加这样一行
AddType application/x-tar .tgz

# 支持对以.Z和.gz.tgz结尾的文件
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz

# 添加对上述两种文件的应用
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

# 修改为:AddHandler cgi-script .cgi .pl 表示允许扩展名为.pl的CGI脚本运行
AddHandler cgi-script .cgi

# 添加动态处理类型为server-parsed由服务器预先分析网页内的标记,将标记改为正确的HTML标识
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

# 当服务器出现404错误的时候,返回missing.html页面
ErrorDocument 404 /missing.html

# 赋值别名
Alias /error/ “/var/www/error/”

# 设置特殊的参数,以保证对老版本浏览器的兼容,并支持新浏览器的特性
BrowserMatch “Mozilla/2” nokeepalive
BrowserMatch “MSIE 4.0b2;” nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch “RealPlayer 4.0” force-response-1.0
BrowserMatch “Java/1.0” force-response-1.0
BrowserMatch “JDK/1.0” force-response-1.0

# 当一个HTTP请求的URL为一个目录的时候,服务器返回这个目录中的索引文件,如果目录中不存在索引文件,并且服务器有许可显示目录文件列表的时候,就会显示这个目录中的文件列表,为了使得这个文件列表能具有可理解性,而不仅仅是一个简单的列表,就需要前这些参数。如果使用了IndexOptionsFancyIndexing选项,可以让服务器针对不同的文件引用不同的图标。如果没有就使用DefaultIcon定义缺省图标。同样,使用AddDescription可以为不同类型的文档介入描述。
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
IndexIgnore .??* ~ # HEADER* README* RCS CVS ,v ,t

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



不重复造轮子

参考网址:

​​https://www.cnblogs.com/wcwnina/p/8044353.html​​

​​https://www.cnblogs.com/xiangsikai/p/9115323.html​​

举报

相关推荐

0 条评论