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

Linux下HTTP服务配置教程 linux中http的配置文件

yuyutoo 2024-10-15 16:59 11 浏览 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

相关推荐

ETCD 故障恢复(etc常见故障)

概述Kubernetes集群外部ETCD节点故障,导致kube-apiserver无法启动。...

在Ubuntu 16.04 LTS服务器上安装FreeRADIUS和Daloradius的方法

FreeRADIUS为AAARadiusLinux下开源解决方案,DaloRadius为图形化web管理工具。...

如何排查服务器被黑客入侵的迹象(黑客 抓取服务器数据)

---排查服务器是否被黑客入侵需要系统性地检查多个关键点,以下是一份详细的排查指南,包含具体命令、工具和应对策略:---###**一、快速初步检查**####1.**检查异常登录记录**...

使用 Fail Ban 日志分析 SSH 攻击行为

通过分析`fail2ban`日志可以识别和应对SSH暴力破解等攻击行为。以下是详细的操作流程和关键分析方法:---###**一、Fail2ban日志位置**Fail2ban的日志路径因系统配置...

《5 个实用技巧,提升你的服务器安全性,避免被黑客盯上!》

服务器的安全性至关重要,特别是在如今网络攻击频繁的情况下。如果你的服务器存在漏洞,黑客可能会利用这些漏洞进行攻击,甚至窃取数据。今天我们就来聊聊5个实用技巧,帮助你提升服务器的安全性,让你的系统更...

聊聊Spring AI Alibaba的YuQueDocumentReader

序本文主要研究一下SpringAIAlibaba的YuQueDocumentReaderYuQueDocumentReader...

Mac Docker环境,利用Canal实现MySQL同步ES

Canal的使用使用docker环境安装mysql、canal、elasticsearch,基于binlog利用canal实现mysql的数据同步到elasticsearch中,并在springboo...

RustDesk:开源远程控制工具的技术架构与全场景部署实战

一、开源远程控制领域的革新者1.1行业痛点与解决方案...

长安汽车一代CS75Plus2020款安装高德地图7.5

不用破解原车机,一代CS75Plus2020款,安装车机版高德地图7.5,有红绿灯读秒!废话不多讲,安装步骤如下:一、在拨号状态输入:在电话拨号界面,输入:*#518200#*(进入安卓设置界面,...

Zookeeper使用详解之常见操作篇(zookeeper ui)

一、Zookeeper的数据结构对于ZooKeeper而言,其存储结构类似于文件系统,也是一个树形目录服务,并通过Key-Value键值对的形式进行数据存储。其中,Key由斜线间隔的路径元素构成。对...

zk源码—4.会话的实现原理一(会话层的基本功能是什么)

大纲1.创建会话...

Zookeeper 可观测性最佳实践(zookeeper能够确保)

Zookeeper介绍ZooKeeper是一个开源的分布式协调服务,用于管理和协调分布式系统中的节点。它提供了一种高效、可靠的方式来解决分布式系统中的常见问题,如数据同步、配置管理、命名服务和集群...

服务器密码错误被锁定怎么解决(服务器密码错几次锁)

#服务器密码错误被锁定解决方案当服务器因多次密码错误导致账户被锁定时,可以按照以下步骤进行排查和解决:##一、确认锁定状态###1.检查账户锁定状态(Linux)```bash#查看账户锁定...

zk基础—4.zk实现分布式功能(分布式zk的使用)

大纲1.zk实现数据发布订阅...

《死神魂魄觉醒》卡死问题终极解决方案:从原理到实战的深度解析

在《死神魂魄觉醒》的斩魄刀交锋中,游戏卡死犹如突现的虚圈屏障,阻断玩家与尸魂界的连接。本文将从技术架构、解决方案、预防策略三个维度,深度剖析卡死问题的成因与应对之策,助力玩家突破次元壁障,畅享灵魂共鸣...

取消回复欢迎 发表评论: