百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

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_NAMEprefork.c
StartServers8默认启动工作进程数
MinSpareServers5最少空闲进程数
MaxSpareServers20最大空闲进程数
ServerLimit256最大活动进程数
MaxClients256并发请求最大数
MaxRequestsPerChild4000每个子进程在生命周期内所能服务的请求最大数

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表单设计器,开发人员可以通过拖拉实现一个可视化的表单。支持表单常用控件...

取消回复欢迎 发表评论: