httpd服务

news2024/11/19 23:31:03

文章目录

  • 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 Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor pres>
   Active: active (running) since Tue 2023-07-11 04:33:45 EDT; 1min 58s ago
     Docs: man:httpd.service(8)
 Main PID: 37451 (httpd)
   Status: "Running, listening on: port 443, port 80"
    Tasks: 213 (limit: 23648)
   Memory: 41.7M
   CGroup: /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 -DFOREGROUND

711 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.com
    ErrorLog "/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.com
    ErrorLog "/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.com
    ErrorLog "/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.com
    ErrorLog "/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.com
    ErrorLog "/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.com
    ErrorLog "/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)
        Validity
            Not Before: Jul 11 10:50:21 2023 GMT
            Not After : Jul 10 10:50:21 2024 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = HB
            organizationName          = www.wanfeng.com
            organizationalUnitName    = www.wanfeng.com
            commonName                = www.wanfeng.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                E0:AC:96:E8:D6:5D:6C:D5:0F:38:AE:56:99:00:B3:49:28:1B:A0:44
            X509v3 Authority Key Identifier: 
                keyid:BD:76:00:6F:81:29:5B:49:5C:F4:A5:F2:65:F2:FF:C7:C0:47:25:B9

Certificate is to be certified until Jul 10 10:50:21 2024 GMT (365 days)
Sign the certificate? [y/n]:y


1 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.coloradmin.cn/o/1116885.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【活体检测】“深度学习驱动的人脸反欺诈检测系统:性能提升与多模型支持“

微调小视科技开源静默活体检测模型加载方式&#xff0c;性能提升8倍 I. 引言 在当今数字化时代&#xff0c;人脸反欺诈检测在各种应用中发挥着重要作用&#xff0c;从人脸识别到金融欺诈检测。为了满足不断增长的需求&#xff0c;深度学习技术已成为关键工具&#xff0c;但性…

openGauss学习笔记-105 openGauss 数据库管理-管理用户及权限-默认权限机制

文章目录 openGauss学习笔记-105 openGauss 数据库管理-管理用户及权限-默认权限机制 openGauss学习笔记-105 openGauss 数据库管理-管理用户及权限-默认权限机制 数据库对象创建后&#xff0c;进行对象创建的用户就是该对象的所有者。openGauss安装后的默认情况下&#xff0c…

PowerShell 实现email发送消息

前言 通过Windows powershel​​​​​​​l脚本实现邮件发送 前提条件 开启wmi,配置网卡,参考 脚本说明解释 配置SMTP服务器信息 $smtpServer = "smtp.qiye.163.com"$smtpPort = "25"$username = "XXXX@YOU_email"$password = "YOU_…

改造xxl-job适配nacos注册中心

xxl-job并没有对nacos、zookeeper这一类注册中心进行适配&#xff0c;所以需要进行改造。 改造目标 1.对调度器&#xff0c;需要能注册到nacos上&#xff0c;并且执行器管理里的 机器地址 能使用 lb://serviceName 这种地址 2.对执行器&#xff0c;需要能注册到nacos上&…

激活MacBook的时候有个“文件保险箱磁盘加密“的选项,要不要开启

背景 在激活MacBook的时候&#xff0c;如果填了Apple ID&#xff0c;就会有 “文件保险箱磁盘加密” 的选项&#xff0c;到底是开还是不开呢&#xff1f; 注意&#xff0c;如果激活时跳过Apple ID&#xff0c;则没这选项&#xff0c;可以后续在 “设置->安全性和隐私->文…

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

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

用WordCloud绘制词云

文章目录 初步认识基本参数掩模参数 初步认识 wordcloud是词云绘图模块&#xff0c;封装了WordCloud词云类&#xff0c;是词云的基本载体。在新建一个词云之后&#xff0c;通过generate装载用以生成词云的字符串&#xff0c;最后用to_file把词云图保存到文件中&#xff0c;例如…

TechSmith Camtasia Studio 23.3.2.49471 Crack

全新的Camtasia 2023.2 Camtasia Studio是专业的屏幕录像和视频编辑的软件套装。软件提供了强大的屏幕录像&#xff08;Camtasia Recorder&#xff09;、视频的剪辑和编辑&#xff08;Camtasia Studio&#xff09;、视频菜单制作&#xff08;Camtasia MenuMaker&#xff09;、视…

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

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

Linux常用命令——cmp命令

在线Linux命令查询工具 cmp 比较两个文件是否有差异 补充说明 cmp命令用来比较两个文件是否有差异。当相互比较的两个文件完全一样时&#xff0c;则该指令不会显示任何信息。若发现有差异&#xff0c;预设会标示出第一个不通之处的字符和列数编号。若不指定任何文件名称或是…

TIA博途中通过SCATTER指令实现将字节BYTE拆分成单个位的具体方法示例

TIA博途中通过SCATTER指令实现将字节BYTE拆分成单个位的具体方法示例 例如: 我们想判断某个字节中各个位的状态是1还是0 ,如何实现呢? 这里介绍通过SCATTER指令拆分字节的方法,仅供大家参考。 首先,我们先了解以下SCATTER指令的基本功能和使用方法: 如下图所示,在基本指…

无纸化办公小程序数据交互、wxs的使用

前言 很多同志们再写小程序的过程中&#xff0c;不知道该怎么发起HTTP请求到后端&#xff0c;在Web环境中发起HTTPS请求是很常见的&#xff0c;但是微信小程序是腾讯内部的产品&#xff0c;不能直接打开一个外部的链接。例如&#xff0c;在微信小程序中不能直接打开www.taobao…

冒泡排序、插入排序、选择排序和快速排序的原理

下面是对冒泡排序、插入排序、选择排序和快速排序的原理的简要解释&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09;&#xff1a;冒泡排序是一种简单的排序算法。它通过多次迭代比较相邻的元素&#xff0c;并交换它们的位置&#xff0c;使得较大&#xff08;或较小&…

1600*D. Maximum Sum on Even Positions(贪心)

Problem - 1373D - Codeforces 解析&#xff1a; 显然可以发现&#xff0c;翻转数量为奇数是不影响结果&#xff0c;所以需要反转偶数个连续数字。 考虑贪心&#xff0c;我们每次反转相邻的两个数字&#xff0c;并且累计贡献&#xff0c;如果贡献为0则清空继续累计&#xff0c;…

Element Plus el-select选择框失去焦点blur

正常情况下&#xff0c;可以使用 el-select 自带的方法 blur 事件来使select失去焦点 示例&#xff1a; <el-select v-model"value" ref"selectRef"><el-optionv-for"item in options":key"item.value":label"item.la…

SQL sever中的存储过程

在Oracle的专篇中我也有仔细总结了存储过程的相关内容&#xff0c; 文章链接&#xff1a;http://t.csdnimg.cn/Z8AnH 尽管Oracle和SQL sever之间是存在一些区别&#xff0c;但许多基本的概念和原则在Oracle和SQL Server之间是通用的。它们之间有一些常见的区别&#xff0c;如下…

毅速科普课堂丨3D打印随形水路模具制造的一般流程

随形水路模具因其能大幅度提升冷却效率、缩短冷却时间、提升产品良率、提高生产效率的特点受到广泛应用&#xff0c;通常一件3D打印随形水路模具的制造需要经过多个步骤&#xff0c;包括设计、打印、后处理等多个环节&#xff0c;以确保模具的质量和性能符合预期需求。 首先&am…

分型+预后模型多层面验证,干湿结合直达7+

今天给同学们分享一篇铜死亡分型预后模型实验的生信文章“Construction and validation of a cuproptosis-related prognostic model for glioblastoma”&#xff0c;这篇文章于2023年2月6日发表在Front Immunol期刊上&#xff0c;影响因子为7.3。 铜死亡是一种新报道的程序性细…

【大模型AIGC系列课程 3-8】AI 代理的应用

1. 如果有一群角色(AI Agent)会发生什么? Generative Agents: Interactive Simulacra of Human Behavior Paper: https://arxiv.org/abs/2304.03442 Demo: https://reverie.herokuapp.com/arXiv_Demo/ 我们的生成式代理架构。代理感知(Perceive)其环境(Env),所有感知都…

网络协议--RARP:逆地址解析协议

5.1 引言 具有本地磁盘的系统引导时&#xff0c;一般是从磁盘上的配置文件中读取IP地址。但是无盘机&#xff0c;如X终端或无盘工作站&#xff0c;则需要采用其他方法来获得IP地址。 网络上的每个系统都具有唯一的硬件地址&#xff0c;它是由网络接口生产厂家配置的。无盘系统…