技术标签: linux
curl -I(大写i)
选项仅查看响应头部信息,我们来看一看国内知名网站部署的服务器类型:Apache | Nginx |
---|---|
稳定、对动态请求处理强 | 擅长处理静态请求 |
但同时高并发时性能较弱,耗费资源多 | 高并发处理能力强、擅长处理反向代理、均衡负载 |
更详细的对比:请看这篇文章
yum install httpd -y ##apache软件
yum install httpd-manual ##apache的手册
systemctl start httpd
systemctl enable httpd
firewall-cmd --list-all ##列出火墙信息
firewall-cmd --permanent --add-service=http ##永久允许http
firewall-cmd --reload ##火墙从新加载策略
/var/www/html ##apache的/目录,默认发布目录
/var/www/html/index.html ##apache的默认发布文件
vim /var/www/html/index.html ##写默认发布文件内容
<h1> hello world </h1>
实验结果:
目录 | 位置 |
---|---|
#主配置目录 | /etc/httpd/conf |
#主配置文件 | /etc/httpd/conf/httpd.conf |
#子配置目录 | /etc/httpd/conf.d/ |
#子配置文件 | /etc/httpd/conf.d/*.conf |
#默认发布目录 | /var/www/html |
#默认发布文件 | index.html |
#默认端口 | 80 |
#默认安全上下文 | httpd_sys_content_t |
#程序开启默认用户 | apache |
#apache日志 | /etc/httpd/logs/* |
rpm -ql httpd ##查看安装文件路径
rpm -qc httpd ##查看配置文件名称
rpm -qd httpd ##查看帮助文件
我们在修改之前,首先要确保selinux开启:enforcing。
netstat -antlupe | grep httpd
semanage port -l | grep http
查看vim /etc/httpd/conf/httpd.conf
Listen 8080 ##修改默认端口为8080(第42行)
firewall-cmd --permanent --add-port=8080/tcp ##需要火墙允许端口,否则无法访问
firewall-cmd --reload
systemctl restart httpd
1 对于一些非常用端口。比如666,先检测是否占用,netstat -antlupe |grep 666
2 然后修改配置文件改为666端口
3 重启发现失败,先把selinux改为0状态,发现可以重启。
4 用semanage port -l | grep http
管理端口列表,添加进去666, semanage port -a -t http_port_t -p tcp 666
5 开启火墙666端口,重启服务。发现可以访问。
为了不影响后续的操作,做完后把默认端口改为80。
vim /var/www/html/test.html
写入一个html基本页面。vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex index.html test.html ##第164行
##当index.html不存在时访问test.html
当我们删掉index.html的时候,重启服务后发现,默认发布文件已经改变:
1 在主配置文件中添加:
DocumentRoot "/westos/html"
<Directory "/westos/html"> ##授权,还需要做授权(rht7之后),否则不能访问。
Require all granted
</Directory>
2 除此之外,因为selinux开启,所以需要修改目录的安全上下文为http模式,才能共享。完成后重启服务。
mkdir -p /www/html/
vim index.html
semanage fcontext -a -t httpd_sys_content_t '/www/html(/.*)?'
restorecon -RvvF /www/html/
虚拟主机apache是什么呢?
更详细的介绍:这篇文章
1 进入子配置文件目录,/etc/httpd/conf.d/
这里的内容基本上都是子配置文件,必须以.conf结尾,主配置文件中有说明。
2 在这里建立一个虚拟机文件 vhost.conf
写入内容:
<VirtualHost _default_:80> ##默认,意思是除了指定的网站,都访问这里的发布目录
DocumentRoot /var/www/html
CustomLog logs/default.log combined ###站点日志combined标示四种日志的集合
</VirtualHost>
<VirtualHost *:80> ##指定的发布目录和服务站点。* 查ServerName参数
ServerName news.mac.com
DocumentRoot /var/www/vhost/news
CustomLog logs/news.log combined
</VirtualHost>
<Directory "/var/www/vhost/news"> ##授权,才都可以访问
Require all granted
</Directory>
<VirtualHost *:80>
ServerName video.mac.com
DocumentRoot /var/www/vhost/video
CustomLog logs/video.log combined
</VirtualHost>
<Directory "/var/www/vhost/video">
Require all granted
</Directory>
3 创建对应的发布目录:
mkdir /var/www/vhost/news -p
mkdir /var/www/vhost/video -p
在对应的发布目录写对应的发布文件:记得要写成默认 index.html 因为是主配置文件中指定过的。
4 浏览器在哪里就在那里做本地解析(真机) 在真机中写入对应ip 的域名
5 测试
这里楼主也在配置虚拟机站点的时候出现了错误,所以写一个排错思路给大家分析错误原因。
排错思路:
1 先在客户端进行ping 对应域名,能ping通说明客户端没错,否则检查/etc/hosts
2 服务端是否授权vhost.conf
3 服务端的主配置文件
4 服务端的发布文件名,是否为默认发布文件
5 火墙是否有影响?
在主配置文件中
写入:
<Directory "/var/www/html/test">
Order deny,allow ##列表读取顺序,后读取的列表会覆盖限度去内容的重复部分
Allow from 172.25.254.44
Deny from all
</Directory>
作为白名单用户:
作为黑名单用户:
注意:后读取的列表会覆盖先读的内容
Order Allow,Deny(先读Allow 再读Deny)次序————黑名单次序
Order Deny,Allow(先读Deny 再读Allow)次序————白名单次序(只有个别能访问)
1 需要在/etc/httpd/下创建,目的是方便管理。
htpasswd -cm .apache_auth admin
c 创建 m md5 加密 可以--help看参数
.是隐藏文件
当已经创建好文件后,只用-m就行,不然会覆盖之前内容:
htpasswd -m .apache_auth mac
2 注意:在子配置目录/etc/httpd/conf.d/
下创建文件vim adefault.conf
或者直接在子配置目录下刚刚创建的vhost.conf内
写入:
<Directory "/var/www/html">
AuthUserFile /etc/httpd/.apache_auth
AuthName "Please input your name and password"
AuthType basic
#Require user admin mac ##针对具体用户的,多个用户用空格隔开
Require valid-user ##针对所有有效用户
</Directory>
分别对应的是:
指定认证文件:
指定认证类型:
指定认证提示符:
允许用户访问 : 隐藏文件下的指定用户可以访问
允许所有有效用户访问: Require
3 完成后重启服务。
4 输入ip,测试,发现需要登录才能访问,输入刚刚的用户和密码即可。
注意:因为浏览器有缓存记录,所以需要清理缓存,火狐浏览器默认是Ctrl+shift+Del
再次刷新,就会要求输入密码。
Apache支持的语言众多:html,php,python,perl等。
1 首先需要下载安装php:yum install php -y
2 写一个php脚本:
vim /var/www/html/index.php
<?php
phpinfo();
?>
3 修改httpd的主配置文件,在默认发布文件中添加index.php,因为按照顺序读取,所以要写道最前面。
4 重启服务,再次访问172.25.254.202,发现已经变成php的网页。
CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。
mkdir -p /var/www/html/cgi
vim /var/www/html/cgi/index.cgi
写入:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;
3 对脚本加执行权限chmod +x /var/www/html/cgi/index.cgi
4 要在子配置文件中对其授权服务————在web可执行脚本,我们可以在官方手册上找到。
5 因为虚拟机selinux开启,所以我们还需要更改其安全上下文为脚本可执行类型httpd_sys_script_exec_t
文章浏览阅读54次。个人网页设计、♂️个人简历制作、简单静态HTML个人网页作品、个人介绍网站模板 、等网站的设计与制作。个人网页设计网站模板采用DIV CSS布局制作,网页作品有多个页面,如 :个人介绍(文字页面)、我的作品(图片列表)、个人技能(图文页面)、在线留言(表单页面)CSS样式方面网页整体采用左右布局结构,制作了网页背景图片,导航区域每个导航背景色不同,导航背景色与页面背景呼应。 一套A+的网页应该包含 (具体可根据个人要求而定)网站布局方面:计划采用目前主流的、能兼容各大
文章浏览阅读811次,点赞15次,收藏19次。C++ STL教程:sort 算法
文章浏览阅读777次,点赞16次,收藏24次。基于Android的知天下APP的设计与实现,旨在为用户提供一个集成化、易用性强的知识平台,满足用户高效学习和阅读的需求,同时推动知识的整合与创新传播。设计和开发基于Android的知天下APP对于提升公众的知识获取效率、促进终身学习文化的形成具有深远的意义。此外,通过优化用户界面和交互体验,知天下APP还能激发用户的学习兴趣,提高学习的积极性和主动性。该应用旨在为用户提供一个覆盖各类知识领域的综合性学习和阅读平台,使用户能够在一个应用中高效地获取和管理知识信息,进而提升个人的知识水平和文化素养。
文章浏览阅读310次。c++重载与运算符重载_c++重载
文章浏览阅读8.5k次,点赞2次,收藏12次。web加载动画,CSS动画今天由于工作需要,在Git上面拿到一个微信小程序,导入后随便点点,他的loading动画吸引到我了。根据源码,搭配blog,w3c,一点一点学习怎么设计的这个loading。1.效果图四周小方块不停的移动到中间方块,中间方块缩放。2.wxml剖析#(1)源码布局<!--正在加载--><template name="loading">..._-webkit-animation
文章浏览阅读2.8k次。用过psock模块的都知道PSOCK_SEND()的功能是向指定的socket输出指定的字节数据,然而,代码中的疏漏使得它无法实现发送大于uip_mss()个字节数.这是因为:PT_WAIT_UNTIL(&s->psockpt, data_acked(s) & send_data_uip使用socket
文章浏览阅读2.7k次,点赞6次,收藏27次。今天我们要介绍的数字后端基本概念是NDR。全称是Non default routing rule, 非默认绕线规则。一般用于设置clock时钟走线的规则。众所周知,时钟..._为什么leaf net的ndr 是一倍宽度
文章浏览阅读1k次。这一两年因为该死的疫情,让短视频、超高清视频和实时音视频反而成为需求风口。我的看法当然是觉得音视频这个行业还可以,而且从我自己的观察来看,做音视频的现在普遍年龄都在 30+ 了,我 94 年的在组里有可能还是年龄最小的那一批人了。_音视频行业技术从业年龄分析
文章浏览阅读6.7k次。假如我们只有3台linux虚拟机,主机名分别为hadoop01、hadoop02和hadoop03,在这3台机器上,hadoop集群的部署情况如下:hadoop01:1个namenode,1个datanode,1个journalnode,1个zkfc,1个resourcemanager,1个nodemanager;hadoop02:1个namenode,1个datanode,1个jour..._yarn daemons
文章浏览阅读9.9k次,点赞5次,收藏108次。标签:2021.09.27工作内容参考资料:TF-IDF算法介绍及实现声明:本文中大量内容转载至参考资料,仅归纳整理和加入部分个人观点心得,侵删概念定义TF-IDF(term frequency-inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术,常用于挖掘文章中的关键词。特点:简单高效,用于最开始的文本数据清洗。TF-IDF(1)TF:词频可以统计到停用词,并把它们过滤,避免对结果造成影响。e.g.:“的”、“了”、“是”等等(2)ID_python tfidf
文章浏览阅读5.7k次,点赞4次,收藏9次。这段代码表示,允许来自以 http://localhost: 开头的任意端口和以 https:// 开头的以 .example.com 结尾的任意二级域名的跨域请求访问任何请求路径,允许的 HTTP 方法包括 GET 和 POST,启用允许发送凭据,预检请求的缓存时间为 1 小时。allowedOrigins 方法使用的是字符串匹配,即只能指定具体的跨域来源,而不能使用通配符;而 allowedOriginPatterns 方法使用的是 Ant 风格的路径匹配规则,可以使用通配符来匹配多个来源。_allowedorigins
文章浏览阅读209次。1. 什么是Fork/Join框架Fork/Join框架是Java7提供了的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结果。比如计算1+2+。..._joinyj