| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux——web服务器 -> 正文阅读 |
|
[系统运维]Linux——web服务器 |
HTTPD(apache web服务器)安装包:httpd-2.4.6-45.el7.centos.4.x86_64.rpm? ?#yum install -y httpd httpd-manual-2.4.6-45.el7.centos.4.noarch.rpm 文档 端口: 80(http) 443(https) 配置文件: /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/ 子配置文件目录 /etc/httpd/conf.modules.d 模块相关子配置文件 动态加载模块 数据目录:/var/www/html 启动服务:systemctl restart httpd 日至存放目录:/var/log/httpd/ error.log access.log linux客户端访问
服务器端查看服务是否启动
http: 超文本传输协议: hyper text tranfer protocol html:超文本标记语言:hyper text mark langue 编写测试页
也可以用windows访问直接在地址栏输入web服务器地址即可 ps:systemctl stop firewalld.service? 关闭虚拟机防火墙 ? ? ? ?setenforce 0? ? ? 关闭虚拟机selinux ?浏览器访问网页流程图C/S :client/service(软件端游)??? B/S:browser/service apache三种工作模式查看工作模式 httpd -V 1. prefork MPM Apache在启动之初,就预先fork(创建)一些子进程,然后等待请求进来。之所以这样做,是为了减少频繁创建和销毁进程的开销。每个子进程只有一个线程,在一个时间点内,只能处理一个请求。 优点:成熟稳定,兼容所有新老模块。同时,不需要担心线程安全的问题。 缺点:一个进程相对占用更多的系统资源,消耗更多的内存。而且,它并不擅长处理高并发请求,在这种场景下,它会将请求放进队列中,一直等到有可用进程,请求才会被处理。 2.worker MPM worker模式比起上一个,是使用了多进程和多线程的混合模式。它也预先fork了几个子进程(数量比较少),然后每个子进程创建一些线程,同时包括一个监听线程。每个请求过来,会被分配到1个线程来服务。线程比起进程会更轻量,因为线程通常会共享父进程的内存空间,因此,内存的占用会减少一些。在高并发的场景下,因为比起prefork有更多的可用线程,表现会更优秀一些 优点:占据更少的内存,高并发下表现更优秀。 缺点:必须考虑线程安全的问题,因为多个子线程是共享父进程的内存地址的。如果使用keep-alive的长连接方式,某个线程会一直被占据,也许中间几乎没有请求,需要一直等待到超时才会被释放。如果过多的线程,被这样占据,也会导致在高并发场景下的无服务线程可用 3. event MPM 这个是Apache中最新的模式,在现在版本里的已经是稳定可用的模式。它和worker模式很像,最大的区别在于,它解决了keep-alive场景下,长期被占用的线程的资源浪费问题(某些线程因为被keep-alive,空挂在哪里等待,中间几乎没有请求过来,甚至等到超时)。event MPM中,会有一个专门的线程来管理这些keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务线程,执行完毕后,又允许它释放。这样增强了高并发场景下的请求处理能力。 注意一点,event MPM需要Linux系统(Linux 2.6+)对EPoll的支持,才能启用 pstree -c |grep httpd 切换模式像开启那个模式就去掉那个模式前边的注释符:#
保持连接(长连接)
修改http访问默认位置
其他方法 方法1: cp -r /boot /var/www/html? ? ?#将文件复制到目录 方法2: ln -s /boot/ /var/www/html? ? #创建软连接 方法3: 别名 alias /down /home <directory /home> options indexes Require all granted </directory> alias /upup /var <Directory "/var"> options indexes require all granted </Directory> useradd robin useradd zorro mkdir /home/tong/public_html mkdir /home/tom/public_html echo "tomn home" > /home/robin/public_html/index.html echo "tom home" > /home/zorro/public_html/index.html chmod 705 /home/tong/ chmod 705 /home/tom/ 客户端测试 虚拟主机(基于域名 基于ip) 基于域名虚拟主机(使用一个公网ip对应解析多个域名,并且访问到不同网页)
客户端[root@client ~]# vim /etc/hosts? ? ?#域名解析 测试: [root@client ~]# elinks --dump www.tong.com tong [root@client ~]# elinks --dump www.tom.com tom 基于ip虚拟主机[root@nfsserver conf.d]# vim vhost_ip.conf
[root@nfsserver conf.d]# systemctl restart httpd [root@nfsserver conf.d]# mkdir /srv/hahaha [root@nfsserver conf.d]# mkdir /srv/liuliuliu [root@nfsserver conf.d]# echo "哈哈哈" > /srv/hahaha/index.html [root@nfsserver conf.d]# echo "666" > /srv/liuliuliu/index.html 客户端 vim /etc/hosts 172.17.206.20 www.liuliuliu.com 测试 [root@client ~]# elinks --dump www.hahaha.com 哈哈哈 [root@client ~]# elinks --dump www.liuliuliu.com 666 在网卡上添加删除IP地址ip addr add 192.168.206.20/24 dev ens33 ip addr del 192.168.206.20/24 dev ens33 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 0:27:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |