httpd服务

文章目录

  • httpd服务
        • 1.安装httpd服务
        • 2.开启服务,设置服务开机自启立马生效,并查看服务状态
        • 3.查看监听端口
        • 4.关闭防火墙,设置防火墙开机不自启立马生效;关闭selinux
        • 5.写一个index.html文件,在真机浏览器访问测试效果
        • 6.查看httpd的配置文件
        • 7.复制vhosts.conf模板到/etc/httpd/conf.d下,等一会配置虚拟主机
        • 8.修改vhosts.conf,配置虚拟主机
          • 第一种:相同IP不同端口
          • 第二种:不同IP相同端口
          • 第三种:相同IP相同端口,不同域名
    • https证书配置

httpd服务

1.安装httpd服务
[root@lc ~]# yum -y install httpd
(省略)
2.开启服务,设置服务开机自启立马生效,并查看服务状态
[root@lc ~]# systemctl start httpd
[root@lc ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@lc ~]# systemctl status httpd
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor pres>Active: active (running) since Tue 2023-07-11 04:33:45 EDT; 1min 58s agoDocs: man:httpd.service(8)Main PID: 37451 (httpd)Status: "Running, listening on: port 443, port 80"Tasks: 213 (limit: 23648)Memory: 41.7MCGroup: /system.slice/httpd.service├─37451 /usr/sbin/httpd -DFOREGROUND├─37453 /usr/sbin/httpd -DFOREGROUND├─37454 /usr/sbin/httpd -DFOREGROUND├─37455 /usr/sbin/httpd -DFOREGROUND└─37456 /usr/sbin/httpd -DFOREGROUND711 04:33:45 lc systemd[1]: Starting The Apache HTTP Server...
711 04:33:45 lc httpd[37451]: AH00558: httpd: Could not reliably determine >
711 04:33:45 lc systemd[1]: Started The Apache HTTP Server.
711 04:33:45 lc httpd[37451]: Server configured, listening on: port 443, po>
lines 1-19/19 (END)
3.查看监听端口
[root@lc ~]# ss -antl | grep 80
LISTEN    0         128                      *:80                     *:*       
[root@lc ~]# 
4.关闭防火墙,设置防火墙开机不自启立马生效;关闭selinux
[root@lc ~]# systemctl stop firewalld.service 
[root@lc ~]# systemctl disable --now firewalld.service 
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@lc ~]# [root@lc ~]# setenforce 0           //临时关闭selinux,重启失效
5.写一个index.html文件,在真机浏览器访问测试效果
[root@lc ~]# ls /var/www/html/
[root@lc ~]# vim /var/www/html/index.html
[root@lc ~]# cat /var/www/html/index.html
<html>
<head>
<title>你看月亮好美</title>
</head>
<body>
<h1>给你拍个月亮</h1>
</body>
</html>
[root@lc ~]# 

在这里插入图片描述

6.查看httpd的配置文件
[root@lc ~]# cd /etc/httpd
[root@lc httpd]# ls
conf  conf.d  conf.modules.d  logs  modules  run  state
[root@lc httpd]# ls conf
httpd.conf  magic
[root@lc httpd]# grep -i 'include' /etc/httpd/conf/httpd.conf 
Include conf.modules.d/*.conf#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# Possible values include: debug, info, notice, warn, error, crit,# If you include a trailing / on /webpath then the server will# To parse .shtml files for server-side includes (SSI):# (You will also need to add "Includes" to the "Options" directive.)AddOutputFilter INCLUDES .shtml
IncludeOptional conf.d/*.conf
[root@lc httpd]# 
7.复制vhosts.conf模板到/etc/httpd/conf.d下,等一会配置虚拟主机
[root@lc ~]# cd /etc/httpd/conf.d/
[root@lc conf.d]# ls
autoindex.conf  README   userdir.conf  welcome.conf
[root@lc conf.d]# [root@lc conf.d]# find / -name *vhosts.conf
/usr/share/doc/httpd/httpd-vhosts.conf
[root@lc conf.d]# [root@lc conf.d]# cp /usr/share/doc/httpd/httpd-vhosts.conf vhosts.conf
[root@lc conf.d]# ls
autoindex.conf  README   userdir.conf  vhosts.conf  welcome.conf
[root@lc conf.d]# 
8.修改vhosts.conf,配置虚拟主机

虚拟主机有三种类型:

相同IP不同端口
不同IP相同端口
相同IP相同端口不同域名
第一种:相同IP不同端口

修改vhosts.conf配置

[root@lc conf.d]# vim vhosts.conf 
[root@lc conf.d]# cat vhosts.conf 
<VirtualHost *:80>DocumentRoot "/var/www/html/www.wanfeng.com"ServerName www.wanfeng.comErrorLog "/var/log/httpd/www.wanfeng.com-error_log"CustomLog "/var/log/httpd/www.wanfeng.com-access_log" common
</VirtualHost>
Listen 82
<VirtualHost *:82>DocumentRoot "/var/www/html/www.yueliang.com"ServerName www.yueliang.comErrorLog "/var/log/httpd/www.yueliang.com-error_log"CustomLog "/var/log/httpd/www.yueliang.com-access_log" common
</VirtualHost>
[root@lc conf.d]# 

查看82端口是否监听

[root@lc conf.d]# ss -antl | grep 82
LISTEN    0         128                      *:82                     *:*     

把写好的网站文件上传到虚拟机里面,放到www.wanfeng.com的目录里面

在这里插入图片描述

//www.wanfeng.com的

[root@lc conf.d]# mkdir -p /var/www/html/www.wanfeng.com
[root@lc conf.d]# ls www.wanfeng.com/
6c224f4a20a44623058cb92d9e22720e0cf3d73e.jpg  姜云升.html    GAI.html
7哥.html                                      浪漫主义.html  hiphop.html
歌单内部.html                                 首页.html      img首页
歌手介绍.html                                 新说唱内.html  wewe.html
更多.html                                     音乐曲库.html
姜哥.html                                     css首页

//www.yueliang.com的

[root@lc conf.d]# mkdir -p /var/www/html/www.yueliang.com
[root@lc conf.d]# echo 'The moon is very beautiful' > /var/www/html/www.yueliang.com/yueliang.html
[root@lc conf.d]# cat /var/www/html/www.yue.com/yue.html
The moon is very beautiful

重启服务,并在真机浏览器上通过同一个ip不同端口访问两个网站

[root@lc conf.d]# systemctl restart httpd

通过80端口访问

在这里插入图片描述

通过82端口访问

在这里插入图片描述

第二种:不同IP相同端口

注意:另一个ip要存在,要提前配置在网卡上

修改vhost.conf配置

[root@lc conf.d]# vim vhosts.conf 
[root@lc conf.d]# cat vhosts.conf 
<VirtualHost 192.168.179.88:80>DocumentRoot "/var/www/html/www.wanfeng.com"ServerName www.wanfeng.comErrorLog "/var/log/httpd/www.wanfeng.com-error_log"CustomLog "/var/log/httpd/www.wanfeng.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.179.99:80>DocumentRoot "/var/www/html/www.yueliang.com"ServerName www.yueliang.comErrorLog "/var/log/httpd/www.yueliang.com-error_log"CustomLog "/var/log/httpd/www.yueliang.com-access_log" common
</VirtualHost>
[root@lc conf.d]# 

重启服务,在真机浏览器上通过不同的ip进行访问

[root@lc conf.d]# systemctl restart httpd

通过192.168.179.88访问www.wanfeng.com

在这里插入图片描述

通过192.168.179.99访问www.yueliang.com

在这里插入图片描述

第三种:相同IP相同端口,不同域名

修改vhosts.conf进行配置

[root@lc conf.d]# vim vhosts.conf 
[root@lc conf.d]# cat vhosts.conf 
<VirtualHost *:80>DocumentRoot "/var/www/html/www.wanfeng.com"ServerName www.wanfeng.comErrorLog "/var/log/httpd/www.wanfeng.com-error_log"CustomLog "/var/log/httpd/www.wanfeng.com-access_log" common
</VirtualHost>
<VirtualHost *:80>DocumentRoot "/var/www/html/www.yueliang.com"ServerName www.yueliang.comErrorLog "/var/log/httpd/www.yueliang.com-error_log"CustomLog "/var/log/httpd/www.yueliang.com-access_log" common
</VirtualHost>
[root@lc conf.d]# 

在真机里面修改hosts文件,绑定ip和域名

用写字板打开C:\Windows\System32\drivers\etc里面的hosts文件

在这里插入图片描述

在这里插入图片描述

重启服务,在真机浏览器上测试访问

[root@lc conf.d]# systemctl restart httpd

访问www.wanfeng.com

在这里插入图片描述

访问www.yueliang.com

在这里插入图片描述

https证书配置

配置ssl证书

[root@lc ~]# mkdir -p /etc/pki/CA        
[root@lc ~]# cd /etc/pki/CA/[root@lc CA]# mkdir private[root@lc CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)
Generating RSA private key, 2048 bit long modulus (2 primes)
...................................................+++++
..............................+++++
e is 65537 (0x010001)[root@lc CA]# ls private/
cakey.pem
[root@lc CA]# 
[root@lc CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:HB
Locality Name (eg, city) [Default City]:WH
Organization Name (eg, company) [Default Company Ltd]:www.wanfeng.com
Organizational Unit Name (eg, section) []:www.wanfeng.com
Common Name (eg, your name or your server's hostname) []:www.wanfeng.com
Email Address []:
[root@lc CA]# 

客户端(例如httpd服务器)生成密钥

[root@lc CA]# mkdir certs newcerts crl
[root@lc CA]# touch index.txt && echo 01 > serial
[root@lc CA]# cd /etc/httpd/ && mkdir ssl && cd ssl
[root@lc ssl]# (umask 077;openssl genrsa -out httpd.key 2048)
Generating RSA private key, 2048 bit long modulus (2 primes)
.............................................................+++++
....................................................................+++++
e is 65537 (0x010001)
[root@lc ssl]# 

客户端生成证书签署请求

[root@lc ssl]# openssl req -new -key httpd.key -days 365 -out httpd.csr
Ignoring -days; not generating a certificate
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN         
State or Province Name (full name) []:HB
Locality Name (eg, city) [Default City]:WH
Organization Name (eg, company) [Default Company Ltd]:www.wanfeng.com
Organizational Unit Name (eg, section) []:www.wanfeng.com
Common Name (eg, your name or your server's hostname) []:www.wanfeng.com
Email Address []:Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@lc ssl]# 

CA签署客户端提交上来的证书

[root@lc ssl]# ls
httpd.csr  httpd.key
[root@lc ssl]# openssl ca -in httpd.csr -out httpd.crt -days 365
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:Serial Number: 1 (0x1)ValidityNot Before: Jul 11 10:50:21 2023 GMTNot After : Jul 10 10:50:21 2024 GMTSubject:countryName               = CNstateOrProvinceName       = HBorganizationName          = www.wanfeng.comorganizationalUnitName    = www.wanfeng.comcommonName                = www.wanfeng.comX509v3 extensions:X509v3 Basic Constraints: CA:FALSENetscape Comment: OpenSSL Generated CertificateX509v3 Subject Key Identifier: E0:AC:96:E8:D6:5D:6C:D5:0F:38:AE:56:99:00:B3:49:28:1B:A0:44X509v3 Authority Key Identifier: keyid:BD:76:00:6F:81:29:5B:49:5C:F4:A5:F2:65:F2:FF:C7:C0:47:25:B9Certificate is to be certified until Jul 10 10:50:21 2024 GMT (365 days)
Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
[root@lc ssl]# ls
httpd.crt  httpd.csr  httpd.key

安装证书服务

[root@lc ~]# yum -y install httpd-devel
[root@lc ~]# yum -y install mod_ssl
[root@lc ssl]# vim /etc/httpd/conf.d/ssl.conf 
[root@lc ssl]# grep -Ev '^$|^#' /etc/httpd/conf.d/ssl.conf
Listen 443 https
SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout  300
SSLCryptoDevice builtin
<VirtualHost _default_:443>
DocumentRoot "/var/www/html/www.wanfeng.com"           //修改为自己域名
ServerName www.wanfeng.com:443                           //取消注释,修改为自己域名
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLHonorCipherOrder on
SSLCipherSuite PROFILE=SYSTEM
SSLProxyCipherSuite PROFILE=SYSTEM
SSLCertificateFile /etc/httpd/ssl/httpd.crt           //修改成对应路径
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key           //修改成对应路径
<FilesMatch "\.(cgi|shtml|phtml|php)$">SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/var/www/cgi-bin">SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \nokeepalive ssl-unclean-shutdown \downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
[root@lc ssl]# 

重启服务,通过https访问测试

[root@lc ssl]# systemctl restart httpd

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/165237.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3插件开发,上传npm

创建插件 在vue3工程下&#xff0c;创建组件vue页: toolset.vue。并设置组件名称。注册全局组件。新建index.js文件。内容如下&#xff0c;可在main.js中引入index.js&#xff0c;注册该组件进行测试。![在这里插入图片描述](https://img-blog.csdnimg.cn/a3409d2cbeec41c797d5…

linux性能分析(四)CPU篇(一)基础

一 CPU篇 遗留&#xff1a; 负载与cpu关系、负载与线程的关系? ① CPU 相关概念 1、physical 物理CPU个数 --> 一般一个实体 2、cpu 核数 3、逻辑CPU个数 逻辑核 4、超线程 super thread 技术 5、各种cpu的计算方式物理 physical CPU的个数&#xff1a; physical id逻…

【数据结构】队列(C语言实现)

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 队列 1. 队列的概念及结构…

基于侏儒猫鼬优化的BP神经网络(分类应用) - 附代码

基于侏儒猫鼬优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于侏儒猫鼬优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.侏儒猫鼬优化BP神经网络3.1 BP神经网络参数设置3.2 侏儒猫鼬算法应用 4.测试结果…

嵌入式养成计划-42----QT 创建项目--窗口界面--常用类及组件

一百零五、如何创建 QT 项目 创建工程 New Project / 文件–>新建。。 /ctrl N 选择一个模板–>Application -->Qt Widgets Application 选择创建的路径&#xff0c;以及设置文件名 下一步 输入类名&#xff0c;选择基类为 QWidget 下一步 选择这个玩意&a…

2020年亚太杯APMCM数学建模大赛A题激光标记舱口轮廓生成求解全过程文档及程序

2020年亚太杯APMCM数学建模大赛 A题 激光标记舱口轮廓生成 原题再现&#xff1a; 激光是20中的一项重要发明世纪&#xff0c;它被称为“最锋利的刀”、“最精确的尺子”和“最不寻常的光”。 激光已越来越多地应用于工业加工&#xff0c; 其中可以是就业在各种加工业务例如作…

凉鞋的 Godot 笔记 203. 变量的常用类型

203. 变量的常用类型 在上一篇&#xff0c;我们对变量进行了概述和简介&#xff0c;知识地图如下&#xff1a; 我们已经接触了&#xff0c;变量的字符串类型&#xff0c;以及一些功能。 在这一篇&#xff0c;我们尝试多接触一些变量的类型。 首先是整数类型。 整数类型 整…

Vue解决 npm -v 报错(一)

报错内容&#xff1a; npm WARN config global --global, --local are deprecated. Use --locationglobal instead. 解决方案&#xff1a; 代码&#xff1a; prefix -g 替换为&#xff1a; prefix --locationglobal 原创作者&#xff1a;吴小糖 创作时间&#xff1a;2023.1…

redis部署与管理

一、关系数据库与非关系型数据库&#xff1a; 1. 关系型数据库&#xff1a; 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记录。 SQL 语句&#xff08;标准数据查询语言&#xff09;就是一种…

【异步爬虫】requests和aiohttp中代理IP的使用

前言 在进行爬虫开发时&#xff0c;我们常常需要使用代理IP来隐藏自己的真实IP地址&#xff0c;以避免被一些网站限制或封禁。requests和aiohttp是两个非常常用的工具&#xff0c;本文将分别介绍如何在它们中使用代理IP&#xff0c;希望可以帮助大家更好地进行异步爬虫开发。 …

天鹰340亿(AquilaChat2-34B-16K)本地部署的解决方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

51单片机仿真软件 Proteus 8 Pro 安装步骤

51单片机仿真软件 Proteus 8 Pro 安装步骤 学习 51 单片机的时候&#xff0c;如果手头没有开发板&#xff0c;可以使用仿真软件 Proteus。Proteus 可以仿真 51 单片机及周边元器件&#xff08;例&#xff1a; LED&#xff09; 的运行情况。 可以简单认为&#xff1a;Proteus …

Windows Server服务器下的Linux子系统

Windows、Linux看似死敌一对&#xff0c;但其实微软对于开源实业还是相当支持的&#xff0c;Windows 10系统内就首次内置了一个Linux子系统(Windows Subsystem for Linux/WSL)&#xff0c;允许开发者模拟Linux环境&#xff0c;而且有需要的可以直接从Windows应用商店下载SUSE、…

《数据结构、算法与应用C++语言描述》使用C++语言实现数组双端队列

《数据结构、算法与应用C语言描述》使用C语言实现数组双端队列 定义 队列的定义 队列&#xff08;queue&#xff09;是一个线性表&#xff0c;其插入和删除操作分别在表的不同端进行。插入元素的那一端称为队尾&#xff08;back或rear&#xff09;&#xff0c;删除元素的那一…

web前端面试-- 手写原生Javascript方法(new、Object.create)

web面试题 本人是一个web前端开发工程师&#xff0c;主要是vue框架&#xff0c;整理了一些面试题&#xff0c;今后也会一直更新&#xff0c;有好题目的同学欢迎评论区分享 ;-&#xff09; web面试题专栏&#xff1a;点击此处 手动实现Object.create 通过Object.create&#…

C/C++面试常见问题——指针和引用的区别

首先想要理解指针和引用的区别&#xff0c;我们要明确什么是指针&#xff0c;什么是引用 一&#xff0c;指针和引用的基本概念及特性 指针是一个特殊变量&#xff0c;其中存储着所指向变量的地址 指针主要有以下特性&#xff1a; 1. 在使用时需要*解引用 2. sizeof(指针)的…

STM32MP135和STM32MP157的区别

本文介绍了STMicroelectronics公司推出的两款多核处理器STM32MP135和STM32MP157之间的区别&#xff0c;包括主频、集成硬件模块数量、内存大小和电压调节模块等方面。 STMicroelectronics是一家领先的半导体解决方案提供商&#xff0c;在嵌入式系统领域有着丰富的经验。他们…

程序连接oracle查询数据的环境配置

连接oracle 数据库真麻烦&#xff0c;还是MySQL方便 Oracle Instant Client 这个东西的版本跟oracle的版本是有讲究的&#xff0c;引用文档的说明 Oracle 标准的客户端-服务器网络互操作性允许不同版本的 Oracle 客户端和 Oracle 数据库之间的连接。有关经过认证的配置&#…

JUC并发编程——各种锁的理解(基于狂神说的学习笔记)

各种锁的理解 公平锁与非公平锁 公平锁&#xff1a;非常公平&#xff0c;不能够插队&#xff0c;先来后到 非公平锁&#xff1a;可以插队&#xff0c;比较灵活&#xff08;默认都是非公平&#xff0c;如&#xff1a;synchronized,lock&#xff09; // Lock lock new Reent…

学习c#桌面应用编程 --- 我的第一个游戏

场景 我需要做一个c#桌面窗口软件&#xff0c;但是我曾经都是专职于java开发&#xff0c;但是java对windows并不是特别友好(awt除外)&#xff0c;于是必须需要掌握c#桌面编程&#xff0c;所以我需要手动做一个小游戏&#xff0c;来学习c#的一些基本桌面应用的知识。 开始 这…