Linux下HTTP服务配置教程 linux中http的配置文件
yuyutoo 2024-10-15 16:59 2 浏览 0 评论
HTTP SERVER
进程名:httpd
俗称:apache
httpd的功能特性
路经别名:alias 用户认证:authentication 虚拟主机:virtual host 反向代理:负载均衡 用户站点:访问控制 默认网关接口--CGI:Comman Gateway Interface
安装httpd服务
查看当前主机是否安装有httpd
rpm -q httpd
当前没有则安装
yum -y install httpd
查看httpd配置文件
rpm -ql httpd #1.服务脚本 /etc/rc.d/init.d/httpd #2.服务配置脚本 /etc/sysconf/httpd #3.运行目录 /etc/httpd #4.主配置文件 /etc/httpd/httpd.conf #5.扩展配置 /etc/httpd/conf.d/*.conf #6.默认文档根目录(可修改) /var/www/html #7.CGI目录 /var/www/cgi-vin/
配置文件详解
面向三种区域的配置
全局配置 主机配置:用于仅提供一个站点 虚拟主机:用于提供多个站点
主机和虚拟主机不能同时存在
格式:指令 + 值
配置指令一般不区分字符大小写,但一般开头为大写,值有可能区分大小写,有些指令可以重复出现
常用配置指令介绍
1)监听套接字
#此指令可以出现多次,用于监听多个不同的套接字 Listen 80 Listen 172.16.36.207:8080
例:查看第二个8080端口是否起作用
#1.检测语法 httpd -t #2.重新加载配置文件 service httpd reload #3.查看端口是否被监听 ss -tnl #4.浏览器测试 http://172.16.36.207:8080
2)持久连接
#1.开关 KeepAlive On / Off #2.超时断开 KeepAliveTimeOut 15 #3.限制最大请求数,超过断开 MaxKeepAliveRequest 100
例:设置超时时间为5秒
#1.用telnet连接网站 telnet 172.16.36.207 80 #2.获取资源 GET /test.html http/1.1 Host:www.xiaoc.com 3.响应状态 connnection 连接状态不是马上关闭,还可以发送GET请求 5秒后自动关闭连接
3)MPM(multipath processing module)–多道处理模块
并不是指一个模块,而是对一种特性的称谓
类型
(1)prefork : 多个进程,每个进程对应一个请求(1对一)
(2)worker : 多个进程,每个进程有多个线程,每个线程对应一个请求(多对多)
(3)event : 单线程响应多个请求,一般只适合做测试使用
查看可使用模块
httpd -l
httpd服务默认启动的为prefork,修改服务配置脚本/etc/sysconfig/httpd,将HTTPD注释取消即可
#1.取消注释 HTTPD=/usr/sbin/httpd.worker #2.重新启动服务 service httpd restart #3.查看服务进程,已经是httpd.worker ps -eFH | tail -5
模块内控制指令
Module 模块格式
指令 值
指令 | 值 | |
---|---|---|
MODULE_NAME | prefork.c | |
StartServers | 8 | 默认启动工作进程数 |
MinSpareServers | 5 | 最少空闲进程数 |
MaxSpareServers | 20 | 最大空闲进程数 |
ServerLimit | 256 | 最大活动进程数 |
MaxClients | 256 | 并发请求最大数 |
MaxRequestsPerChild | 4000 | 每个子进程在生命周期内所能服务的请求最大数 |
MODULE_NAME|worker||
StartServers | 4|默认启动的进程数
MaxClients |300|最大请求并发
MinSpareThreads |25|最小空闲线程数
MaxSpareThreads |75|最大空闲线程数
ThreadsPerChild |25|每个子进程可生成的线程数
MaxRequestsPerChild |0|每个子进程在生命周期内所能服务请求最大数,0表示不限定
4)DSO(Dynamic Shared Object)
Apache HTTP Server是一个模块化程序,管理员可以通过选择一组模块来选择要包含在服务器中的功能。模块将被编译为与主httpd 二进制文件分开存在的动态共享对象(DSO)。
用法格式:
LoadModule MODULE_NAME /path/to/module
重载配置文件就能生效
如果使用相对路径,则对于ServerRoot所定义的位置而言
列出已经装载的所有DSO模块
httpd -M
5)站点根目录
#默认值 DocumentRoot "/var/www/html"
设置该站点网页访问属性
Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all
Options | |
---|---|
Indexes | 缺少指定的默认页面时,允许将目录中的所有文件已列表形式返回给用户:危险:慎用 |
FollowsymLinks | 允许跟随符号链接所指向的原始文件 |
None | 所有都不启用 |
All | 所有的都启用 |
ExecCGI | 允许使用mod_cgi模块执行CGI脚本 |
Includes | 允许使用mod_include模块实现服务器端包含(SSI) |
IncludesNOEXEC | 允许包含但不允许执行脚本 |
MultiViews | 允许使用mod_negotiation实现内容协商 |
SymLinksIfOwnerMatch | 在链接 |
7)基于主机的访问控制
Options AllowOverride None 不禁用下面 order 次序,写在后面的为默认 allow,deny: 没有允许的都拒绝 deny,allow:没有拒绝的都允许 Allow from Deny from
8)定义默认的主页面
DirectoryIndex index.html index.html.var
9)用户目录
允许每个用户都能创建个人站点
#默认为禁止状态 UserDir disabled #取消注释开启 UserDir public_html
例:创建test用户,创建其个人站点
useradd test su - test mkdir public_html cd public_html vim index.html #其他人如test2能够访问我的网站 setfacl -m u:test2:x /home/test #打开浏览器访问test个人站点 http://172.16.36.207/~test
10)配置日志功能
#配置日志显示格式 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined #配置日志文件 CustomLog logs/access_log combined
Options | |
---|---|
%h | 远程主机名 |
%l | 远程登录名 |
%u | 认证时远程用户名 |
%t | 收到请求的时间 |
%r | 请求报文的起始行 |
%>s | 响应状态码 |
%b | 响应报文的长度,单位为字节 |
%{referer}i | 指定请求报文首部的内容 |
%{User_Agent}i | 用户代理,上一次跳转到本次页面的位置,“-”表示直接访问 |
11)路经别名
访问http://server_ip/icons时,其页面来自于/var/www/icons
Alias /icons/ "/var/www/icons/"Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all
设定默认字符集
AddDefaultCharset UTF-8
相关推荐
- jQuery VS AngularJS 你更钟爱哪个?
-
在这一次的Web开发教程中,我会尽力解答有关于jQuery和AngularJS的两个非常常见的问题,即jQuery和AngularJS之间的区别是什么?也就是说jQueryVSAngularJS?...
- Jquery实时校验,指定长度的「负小数」,小数位未满末尾补0
-
在可以输入【负小数】的输入框获取到焦点时,移除千位分隔符,在输入数据时,实时校验输入内容是否正确,失去焦点后,添加千位分隔符格式化数字。同时小数位未满时末尾补0。HTML代码...
- 如何在pbootCMS前台调用自定义表单?pbootCMS自定义调用代码示例
-
要在pbootCMS前台调用自定义表单,您需要在后台创建表单并为其添加字段,然后在前台模板文件中添加相关代码,如提交按钮和表单验证代码。您还可以自定义表单数据的存储位置、添加文件上传字段、日期选择器、...
- 编程技巧:Jquery实时验证,指定长度的「负小数」
-
为了保障【负小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【负小数】的方法。HTML代码<inputtype="text"class="forc...
- 一篇文章带你用jquery mobile设计颜色拾取器
-
【一、项目背景】现实生活中,我们经常会遇到配色的问题,这个时候去百度一下RGB表。而RGB表只提供相对于的颜色的RGB值而没有可以验证的模块。我们可以通过jquerymobile去设计颜色的拾取器...
- 编程技巧:Jquery实时验证,指定长度的「正小数」
-
为了保障【正小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【正小数】的方法。HTML做成方法<inputtype="text"class="fo...
- jquery.validate检查数组全部验证
-
问题:html中有多个name[],每个参数都要进行验证是否为空,这个时候直接用required:true话,不能全部验证,只要这个数组中有一个有值就可以通过的。解决方法使用addmethod...
- Vue进阶(幺叁肆):npm查看包版本信息
-
第一种方式npmviewjqueryversions这种方式可以查看npm服务器上所有的...
- layui中使用lay-verify进行条件校验
-
一、layui的校验很简单,主要有以下步骤:1.在form表单内加上class="layui-form"2.在提交按钮上加上lay-submit3.在想要校验的标签,加上lay-...
- jQuery是什么?如何使用? jquery是什么功能组件
-
jQuery于2006年1月由JohnResig在BarCampNYC首次发布。它目前由TimmyWilson领导,并由一组开发人员维护。jQuery是一个JavaScript库,它简化了客户...
- django框架的表单form的理解和用法-9
-
表单呈现...
- jquery对上传文件的检测判断 jquery实现文件上传
-
总体思路:在前端使用jquery对上传文件做部分初步的判断,验证通过的文件利用ajaxFileUpload上传到服务器端,并将文件的存储路径保存到数据库。<asp:FileUploadI...
- Nodejs之MEAN栈开发(四)-- form验证及图片上传
-
这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...
- 大数据开发基础之JAVA jquery 大数据java实战
-
上一篇我们讲解了JAVAscript的基础知识、特点及基本语法以及组成及基本用途,本期就给大家带来了JAVAweb的第二个知识点jquery,大数据开发基础之JAVAjquery,这是本篇文章的主要...
- 推荐四个开源的jQuery可视化表单设计器
-
jquery开源在线表单拖拉设计器formBuilder(推荐)jQueryformBuilder是一个开源的WEB在线html表单设计器,开发人员可以通过拖拉实现一个可视化的表单。支持表单常用控件...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)