当前位置:首页 » 《关于电脑》 » 正文

Linux 【web 服务器】Apache(httpd)

13 人参与  2024年10月07日 14:01  分类 : 《关于电脑》  评论

点击全文阅读


        Apache HTTP Server(简称Apache或httpd)是一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

        Apache提供的web服务器的守护进程是httpd,通过http协议进行文本传输,默认使用80端口的明文传输方式,后来,为了保证数据的安全和可靠性,又添加了443的加密传输的方式;Apache提供的服务器又被称为:补丁服务器,它是一款高度模块化的软件,想要给它添加相应的功能只需添加相应的模块,让其Apache主程序加载相应的模块,不需要的模块也可以不用加载,保证了Apache的简洁,轻便,高效性,当出现大量访问一个服务器是可以使用多种复用模式,保证了服务器能快速回应客户端的请求,如MPM,端口复用技术。

特点:

开放源代码跨平台使用,支持绝大多数硬件平台,支持所有的unix系统和linux系统,支持大多数windows平台支持多种web编程语言,perl,php,python,java等模块化设计,根据所需功能去安装不同的模块运行非常稳定,支持大负载访问的web站点安全性高,及时修复已发现的漏洞

1.安装apache

yum install -y httpd#启动:systemctl start httpd#状态:systemctl status httpd#查看端口:netstat -lntp | grep 80

配置文件目录:

网站根目录:/var/www/html/错误信息目录:/var/www/error/Apache日志文件:/var/log/httpd/主要执行文件: /usr/sbin/apachectl二进制执行文件: /usr/sbin/httpd主配置文件:/etc/httpd/conf/httpd.confcd /etc/httpd/#./conf/    主配置文件./conf.d/  子配置文件./logs/    存储日志 ./modules/ 存储模块./run/     存储Pid文件,存放的pid号码。是主进程号

查看配置文件:

vim /etc/httpd/conf/httpd.confServerRoot "/etc/httpd"    #工作目录:服务器设置的最顶层目录Listen 80 #监听端口Include conf.modules.d/*.conf      #包含conf.modules.d目录下的*.conf文件User apache  #子进程的用户,有可能被人改称www账户Group apache#子进程的组ServerAdmin root@localhost     # 设置管理员邮件地址##对根目录的一个权限的设置<Directory />              #网站容器开始标识     AllowOverride none    #对目录设置特殊属性:none不使用.htaccess控制,all允许     Require all denied    #granted 表示允许所有访问,denied 表示拒绝所有访问DocumentRoot "/var/www/html"        #默认页面存放位置(目录),可更改##对/var/www/html目录的一个权限的设置<Directory "/var/www/html">    Options Indexes FollowSymLinks  #找不到index.html主页时,以目录的方式呈现,并允许链接到网站根目录以外    AllowOverride None    #对目录设置特殊属性:none不使用.htaccess控制,all允许    Order allow,deny      #对页面的访问控制顺序后面的一项是默认选项。如allow,deny则默认是deny    Allow from all        #允许所有的用户,通过和上一项结合可以控制对网站的访问控制 </Directory>##默认打开的网页文件名称<IfModule dir_module>     DirectoryIndex index.html</IfModule> ErrorLog "logs/error_log"    #错误日志存放的位置 ServerSignature On           #当客户请求的网页不存在,或者错误的时候是否提示apache的版本的一些信息 IncludeOptional conf.d/*.conf       # 包含conf.d目录下的*.conf文件

访问控制:

首先:先把默认页面移除mv /etc/httpd/conf.d/welcome.conf  /etc/httpd/conf.d/welcome.conf.back修改配置文件:vim /etc/httpd/conf/httpd.conf1.默认允许所有主机访问<Directory "/var/www/html">    Options Indexes FollowSymLinks    AllowOverride None    Require all granted</Directory>2.默认拒绝所有主机访问<Directory "/var/www/html">    Options Indexes FollowSymLinks    AllowOverride None    Require all denied</Directory>3.设定:拒绝少部分,允许大部分:可用于黑名单<Directory "/var/www/html">    Options Indexes FollowSymLinks    AllowOverride None    <RequireALL>    Require not ip 192.168.137.152    Require all granted    </RequireAll></Directory>4.设定:拒绝大部分,允许少部分:可用于内部测试<Directory "/var/www/html">    Options Indexes FollowSymLinks    AllowOverride None    <RequireAny>    Require ip 192.168.137.152    Require all denied    </RequireAny></Directory>

虚拟主机:

虚拟主机:多个网站在一台服务器上。应用于只有一台服务器但需要提供多个页面时。

三种:基于域名、基于端口、基于Ip。

1.基于域名:

ip相同,端口相同,域名不同:

错误日志:vim /var/log/httpd/error_log

1.创建子配置文件:test.confcd /etc/httpd/conf.d/vim test.conf#虚拟主机1<VirtualHost *:80>          #VirtualHost:虚拟主机端口;*代表监听本机所有ip,也可以指定ipDocumentRoot /alan          #发布网站目录,自己定义ServerName www.alan.com     #域名,可以自己定义<Directory "/alan/">  AllowOverride None        #设置目录的特性  Require all granted       #允许所有人访问</Directory></VirtualHost>#虚拟主机2<VirtualHost *:80>          #VirtualHost:虚拟主机端口;*代表监听本机所有ip,也可以指定ipDocumentRoot /tom          #发布网站目录,自己定义ServerName www.tom.com     #域名,可以自己定义<Directory "/tom/">  AllowOverride None        #设置目录的特性  Require all granted       #允许所有人访问</Directory></VirtualHost>
2.创建 /alan 目录:默认页面发布目录mkdir /alanmkdir /tom3.创建 index.html 文件,作为默认页面echo "My name is alan."  >>/alan/index.htmlecho "My name is tom."  >>/tom/index.html4.给权限:重启:chmod 777 /alanchmod 777 /alan/index.htmlchmod 777 /tomchmod 777 /tom/index.htmlsystemctl restart httpd5.修改本地域名解析vim /etc/hosts

6.查看:curl  www.alan.com

2.基于端口

域名相同,ip相同,端口不同:

错误日志:vim /var/log/httpd/error_log

1.创建子配置文件:test.confcd /etc/httpd/conf.d/vim test.conf###################Listen 81Listen 82#虚拟主机1<VirtualHost *:81>          #VirtualHost:虚拟主机端口;*代表监听本机所有ip,也可以指定ipDocumentRoot /alan          #发布网站目录,自己定义ServerName www.alan.com     #域名,可以自己定义<Directory "/alan/">  AllowOverride None        #设置目录的特性  Require all granted       #允许所有人访问</Directory></VirtualHost>#虚拟主机2<VirtualHost *:82>          #VirtualHost:虚拟主机端口;*代表监听本机所有ip,也可以指定ipDocumentRoot /tom           #发布网站目录,自己定义ServerName www.alan.com     #域名,可以自己定义<Directory "/tom/">  AllowOverride None        #设置目录的特性  Require all granted       #允许所有人访问</Directory></VirtualHost>

2.其他操作同《基于域名》systemctl restart httpdcurl  www.alan.com:81

3.基于IP

端口相同,域名相同,ip不同:

输入域名,通过DNS解析为不同的IP。

错误日志:vim /var/log/httpd/error_log

1添加临时ipip a a 192.168.137.153/24 dev ens332.创建子配置文件:test.confcd /etc/httpd/conf.d/vim test.conf###################<VirtualHost 192.168.137.152:80>DocumentRoot /alanServerName www.alan.com<Directory "/alan/">  AllowOverride None  Require all granted</Directory></VirtualHost><VirtualHost 192.168.137.153:80>DocumentRoot /tomServerName www.alan.com<Directory "/tom/">  AllowOverride None  Require all granted</Directory></VirtualHost>

3.其他操作同《基于域名》systemctl restart httpd4.修改本地域名解析vim /etc/hostscurl  192.168.137.152

点击全文阅读


本文链接:http://zhangshiyu.com/post/168565.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1