HTTPD经常使用配置
html
---------------------------------------------------------------------------------------------------------------------------------------------nginx
1、http服务器apache
二、20世纪90年代初,美国国家超级计算机应用中心NCSA开发服务器
1995年开源社区发布apache(a patchy server)网络
ASF: apache software foundation多线程
DSO: Dynamic Shared Object 动态加/卸载
MPM:multi-processing module多路处理模块
一、prefork:多进程I/O模型,每一个进程响应一个请求,默认模型,并发链接数达到10000,性能将明显降低
多个子进程:工做work进程,每一个子进程处理一个请求;系统初始时,预先生成多个空闲进程,等待请求,最大不超过1024个
二、worker:复用的多进程I/O模型,多进程多线程,IIS使用此模型,若是一个子进程的某个线程有问题,那么该子进程的其它线程会被问题线程影响
一个主进程:生成m个子进程,每一个子进程负责生个n个线程,每一个线程响应一个请求,并发响应请求:m*n
一个主进程:生成m个子进程,每一个进程直接响应n个请求,并发响应请求:m*n,有专门的线程来管理这些keep-alive类型的线程,当有真实请求时,将请求传递给服务线程,执行完毕后,又容许释放。这样加强了高并发场景下的请求处理能力
二、CGI:Common Gateway Interface,通用网关接口
三、反向代理:调度器,离服务器更近,根据实际状况把用户请求调度到真正提供后台服务的服务器
附:不支持正向代理。正向代理:帮助客户端访问远程主机,离客户机更近,主机想要访问某视频网站观看视频,区域内服务器收到用户机请求后去目标网站访问视频,并存储到缓存内,将缓存内的视频返回给用户,若是有其余用户也查看一样的网站视频,访问到的数据也将是区域内服务器的缓存,这样不只节约了带宽,同时也提升了用户网络传输速度
该选项只是让apache知道本身的域名叫这个,让其余远程主机知道该域名仍是须要DNS,此处搞个小
httpd-manual,yum install httpd-manual后加载服务,浏览器地址输入192.168.239.60/manual出现帮助说明
centos7工做模式/etc/sysconfig/httpd已无这些内容,修改某模式选项参数时直接在自建的/etc/httpd/conf.d/*.conf里写入便可,好比说
所以新建/etc/httpd/conf.d/test.conf,写入ServerTokens Prod,保存退出后从新加载生效
注:若是在/etc/httpd/conf.d/*.conf添加listen 8080,而不修改主配置文件,此时服务重启httpd将监听80端口和8080端口;
若是在主配置文件监听的是内部ip,listen 192.168.1.1:80,意味着ip绑定端口,只能ping 通192.168.1.1的内部ip登陆,外部其它ip没法经过80端口登陆
此实验仅适用于本主机,若是修改了其余主机hosts文件,也能够经过apache域名解析为ip
/etc/httpd/conf.modules.d/00-mpm.conf
模块目录:/etc/httpd/conf.modules.d/00-base.conf,修改后须要重启httpd服务
apache默认路径:/var/www/html/index.html
这是主文件配置,通常不建议修改主文件配置,建议在/etc/httpd/conf.d/目录下本身新建个*.conf文件,在里面写入内容进行修改。修改前能够输入grev -v "^[ ]*#" /etc/httpd/conf/httpd.conf,将过滤掉带注释行的说明内容,像这样
若是再修改哪一项将该项拷贝出,复制到/etc/httpd/conf.d/*.conf进行修改重启便可
综上所述,找到配置文件中的/var/www/html,复制到自建的配置文件
/etc/httpd/conf.d/welcome.html:这是httpd找不到主页时显示的Test123页面,将它更名后,页面为
修改配置使主页面不存在时能够查看网站下的目录索引:(设置权限的目录只出如今容许的主机上)
通常网站不开启此选项,不过相似阿里云的epel源网站会开启这选项
与访问控制相关的哪些指令能够放在指定目录下的.htaccess文件中,覆盖以前的配置指令
debug, info, notice, warn,error, crit, alert, emerg,crit, alert, emerg
定义日志格式:LogFormatformat strings
LogFormat"%h %l %u %{%Y-%m-%d %H:%M:%S}t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" testlog
CustomLoglogs/access_logtestlog
参考帮助:http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats
%l 远程用户,启用mod_ident才有效,一般为减号“-”
%u 验证(basic,digest)远程用户,非登陆访问时,为一个减号“-”
%r First line of request,即表示请求报文的首行;记录了这次请求的“方法”,“URL”以及协议版本
%b 响应报文的大小,单位是字节;不包括响应报文http首部
%{Referer}i请求报文中首部“referer”的值;即从哪一个页面中的超连接跳转至当前页面的
%{User-Agent}i请求报文中首部“User-Agent”的值;即发出请求的应用程
AddDefaultCharsetUTF-8 此为默认值,自建的配置文件直接添加此项
若是只须要某个.htpasswd中某个用户访问,在require后写该用户名字便可,其余用户将没法访问
htpasswd -c /data/.htpasswd audi,第一次建立必须加-c
htpasswd /data/.htpasswd bmw,后续建立不能加-c,不然会覆盖
htpasswd /data/.htpasswd cadillac
-c 自动建立文件,仅应该在文件不存在时使用
-p 明文密码
-d CRYPT格式加密,默认
-m md5格式加密
-s sha格式加密
-D 删除指定用户
1六、基于组帐号进行认证
(1)自建的配置文件写入
(1)vim /etc/httpd/conf/httpd.conf
<IfModulemod_userdir.c> ---->此项取消注释
UserDir public_html ---->指定共享目录的名称
(2)准备目录
su -chenux;mkdir ~/public_html ---->与上面的UserDir后面的目录对应
1九、ServerSignatureOn | Off | EMail(默认是off)
当客户请求的网页并不存在时,服务器将产生错误文档,缺省状况下因为打开了ServerSignature选项,错误文档的最后一行将包含服务器的名字、Apache的版本等信息
设置为Email,将显示ServerAdmin的Email提示
基于LoadModulestatus_modulemodules/mod_status.so模块
写好后浏览器地址栏输入192.168.239.70/status
2一、https重定向
(1)/etc/httpd/conf.d/ssl.conf中对应的私钥证书等文件已经准备好
(2)更改/etc/httpd/conf.d/*.conf中