web服务器之——建立两个基于ip地址访问的网站

目录

 准备工作:web服务器搭建

第一步:挂载

第二步:编辑配置文件

第三步:安装软件包

第四步:启动httpd

查看配置文件:

第五步:设置防火墙状态:

重启服务:

查看状态:  

 查看是否启动成功:

第六步:测试

第一步、启动httpd

第二步、设置防火墙状态:

1、默认防火墙建立22端口连接

2、关闭文件访问权限——SeLinux

3、进入默认网站资源界面路径:

第三步,添加两个ip地址

方法一:图形界面直接添加

添加成功

方法二:nmcli添加多个地址

第四步、创建两个网页文件根目录,并定义网页内容

1、创建两个网页文件根目录

2、定义网页内容

3、重启服务:

4、关闭防火墙+SELinux

第五步,定义基于不同ip地址来访问网站的配置文件

查看示例文件:

 第六步:测试


 准备工作:web服务器搭建

第一步:挂载

[root@localhost node1]# mount /dev/sr0 /mnt/

第二步:编辑配置文件

[root@localhost node1]#  vim /etc/yum.repos.d/web.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0

第三步:安装软件包

[root@localhost node1]# dnf install httpd -y

[root@localhost ~]# rpm -ql httpd

[root@localhost httpd]# tree /etc/httpd
/etc/httpd
├── conf
│ ├── httpd.conf
│ └── magic
├── conf.d
│ ├── autoindex.conf
│ ├── README
│ ├── userdir.conf
│ └── welcome.conf
├── conf.modules.d
│ ├── 00-base.conf
│ ├── 00-dav.conf
│ ├── 00-lua.conf
│ ├── 00-mpm.conf
│ ├── 00-proxy.conf
│ ├── 00-systemd.conf
│ └── 01-cgi.conf
├── logs -> ../../var/log/httpd
├── modules -> ../../usr/lib64/httpd/modules
└──
run -> /run/httpd

第四步:启动httpd

[root@localhost node1]# systemctl start httpd.service
注:1、启动用start,再次启动用restart,2、.service后缀可加可不加

查看配置文件:

[root@localhost node1]# rpm -ql httpd | grep etc

第五步:设置防火墙状态:

[root@localhost ~]# systemctl status firewalld
[root@localhost ~]#systemctl stop firewalld#可不用
[root@localhost ~]#systemctl disable firewalld

注意: systemctl start/restart/enable/disable/stop/status/reload 的区别  

重启服务:

[root@localhost ~]# systemctl restart httpd

查看状态:  

 查看是否启动成功:
[root@localhost node1]# systemctl is-active httpd
active##测试状态代码
[root@localhost node1]# systemctl stop httpd.service
[root@localhost node1]# systemctl is-active httpd
inactive

第六步:测试

  • 在客户端:curl http://ip地址, curl -I 可以查看http报文信息
  • 通过浏览器访问http://ip地址  


第一步、启动httpd

[root@localhost node1]# systemctl start httpd.service
注:1、启动用start,再次启动用restart,2、.service后缀可加可不加

第二步、设置防火墙状态:

[root@localhost ~]# systemctl status firewalld
[root@localhost ~]#systemctl stop firewalld
​​​​​​​##也可以使用以下命令
[root@localhost ~]#systemctl disable firewalld
注意: systemctl start/restart/enable/disable/stop/status/reload 的区别  

1、默认防火墙建立22端口连接

2、关闭文件访问权限——SeLinux

[root@localhost html]# setenforce 0
注:临时生效命令

3、进入默认网站资源界面路径:

[root@localhost node1]# cd /var/www/html

配置文件路径:

第三步,添加两个ip地址

方法一:图形界面直接添加

添加成功

方法二:nmcli添加多个地址

[root@localhost ~]# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.17.100/24 +ipv4.addresses 192.168.17.200/24 ipv4.gateway 192.168.17.2 ipv4.dns 114.114.114.114 connection.autoconnect yes 
[root@localhost ~]# nmcli connection up ens160 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
 

第四步、创建两个网页文件根目录,并定义网页内容

1、创建两个网页文件根目录

[root@localhost ~]# mkdir -pv /www/ip/{100,200}

2、定义网页内容

[root@localhost ~]# echo this is 100 > /www/ip/100/index.html
[root@localhost ~]# echo this is 200 > /www/ip/200/index.html

3、重启服务:

[root@localhost ~]# systemctl restart httpd

4、关闭防火墙+SELinux

[root@server html]# setenforce 0
[root@server html]# getenforce
Permissive

第五步,定义基于不同ip地址来访问网站的配置文件

查看示例文件:

[root@localhost node1]# rpm -ql httpd | grep vhosts.conf
/usr/share/doc/httpd/httpd-vhosts.conf
[root@localhost node1]# vim /usr/share/doc/httpd/httpd-vhosts.conf

[root@localhost node1]# vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost 192.168.17.100:80>ServerName 192.168.17.100DocumentRoot /www/ip/100
</VirtualHost>
<Directory /www>AllowOverride noneRequire all granted
</Directory>
​
<VirtualHost 192.168.17.200:80>ServerName 192.168.17.200DocumentRoot /www/ip/200
</VirtualHost>

 第六步:测试

[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# curl 192.168.126.200
this is 200
[root@localhost ~]# curl 192.168.126.100
this is 100
如果访问时显示的是apache默认的欢迎界面,则需要做如下操作:
[root@localhost ~]# setenforce 0

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

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

相关文章

Leetcode—2961.双模幂运算【中等】

2023每日刷题&#xff08;五十六&#xff09; Leetcode—2961.双模幂运算 实现代码 class Solution { public:int func(int a, int b) {int ans 1;for(int i 0; i < b; i) {ans * a;ans % 10;}return ans;}int func2(int a, int b, int m) {int ans 1;for(int i 0; i …

评论送书:以企业架构为中心的SABOE数字化转型五环法

01 传统企业数字化转型面临诸多挑战 即将过去的2023年&#xff0c;chatGPT大模型、数据资产入表等事件的发生&#xff0c;标志着数字经济正在加速发展。数字经济是人类社会继农业经济、工业经济之后的第三种经济形态&#xff0c;将推动生产方式、生活方式和治理方式深刻变革&a…

2-Spring

2-Spring 文章目录 2-Spring项目源码地址Spring概述Spring特点&#xff08;优点&#xff09;Spring相关学习网站基于Maven的Spring框架导入Spring的组成及拓展 Spring-IOC--原型理解IOC-原型--示例开发示例-常规开发示例-Set函数&#xff08;IOC原型&#xff09;开发示例-对比思…

C++STL的list(超详解)

文章目录 前言构造函数capacitylist的访问insertswapsort 前言 看一下list, 在任意位置可以进行O(1)插入删除的操作。 它怎么实现这个东西&#xff1f;它其实就是一个带头双向循环链表。 #成员函数 构造函数 这里面的构造函数学完string和vector之后已经相当熟悉了。 capaci…

如何将用户有过行为的item用list形式记录下来,另外如何计算list里的个数

导语&#xff1a; 最近做项目&#xff0c;发现有些语法想一想是知道&#xff0c;但实际操作起来跟想的情况不一样哈哈。不是遇见bug就是输出的结果不是自己想要的&#xff0c;CSDN跟知乎找了很多没怎么解决&#xff0c;后面多摸索多实操终于解决&#xff01; test_data[item_…

数据结构-05-跳表SkipList

1-什么是跳表 跳表SkipList是一种随机化的数据结构&#xff0c;基于并联的链表&#xff0c;实现简单&#xff0c;插入、删除、查找的复杂度均为 O(logN)&#xff08;大多数情况下&#xff0c;因为是实现上是概率问题&#xff09;&#xff0c;因为其性能匹敌红黑树且实现较为简单…

msvcr110.dll丢失的解决方法有哪些-常见方法教程

我们在日常使用电脑中经常遇到各种问题&#xff0c;比如系统文件丢失是最常见的&#xff0c;其中msvcr110.dll丢失也是非常常见的问题&#xff0c;那么msvcr110.dll文件为什么会丢失&#xff0c;丢失对电脑有什么影响呢&#xff0c;丢失了有什么解决方法&#xff1f;今天小编就…

Synchronized 优化

目录 前言 重点 一、 轻量级锁 二、锁膨胀 三、重量锁 四、偏向锁 五、其他优化 我的其他博客 前言 Java synchronized 是一种机制&#xff0c;可以保证多个线程在访问共享资源时的同步性。synchronized 关键字可以用于方法或代码块上&#xff0c;当一个线程获取了这个对…

【动态规划】03斐波那契数列模型_最小花费爬楼梯_C++(easy1)

题目链接&#xff1a;leetcode使用最小花费爬楼梯 目录 题目解析&#xff1a; 算法原理 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 编写代码 题目解析&#xff1a; 题目让我们求达到楼梯顶部的最低花费. 由题可得&#xff1a; cost[i] 是从楼梯第 i 个…

第6章:知识建模:概述、方法、实例

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

java--LinkedHashSet集合的底层原理和TreeSet集合

1.LinkedHashSet底层原理 ①依然是基于哈希表(数组、链表、红黑树)实现的 ②但是&#xff0c;它的每个元素都额外的多了一个双链表的机制记录它前后元素的位置。 2.TreeSet ①特点&#xff1a;不重复、无索引、可排序(默认升序排序&#xff0c;按照元素的大小&#xff0c;由…

Nacos热更新(动态获取配置)

写在前面&#xff1a;各位看到此博客的小伙伴&#xff0c;如有不对的地方请及时通过私信我或者评论此博客的方式指出&#xff0c;以免误人子弟。多谢&#xff01;如果我的博客对你有帮助&#xff0c;欢迎进行评论✏️✏️、点赞&#x1f44d;&#x1f44d;、收藏⭐️⭐️&#…

el-date-picker 限制选择范围最大为一年,设置快捷选项,设置默认时间

el-date-picker 限制选择范围最大为一年&#xff1a; 主要代码为&#xff1a;:picker-options"pickerOptions" 以及 blur"pickerBlur" <el-date-pickerv-model"transactionTime"type"daterange"style"width: 200px"size…

盒马补贴量价-2021KDD

概述&#xff1a; 电商商品定价三个关键问题&#xff1a; 在只有观测数据的时候&#xff0c;怎么构建价格弹性&#xff0c;现在来看这就是一个反事实推断的问题&#xff0c;不仅是如何做的问题&#xff0c;还有如何评估的问题。长周期的规划决策问题怎么建模 & 求解&#…

从零开始学UniApp微信小程序开发:头部适配技巧让你事半功倍!

在 UniApp 中&#xff0c;在微信小程序开发中&#xff0c;头部适配可以通过修改 pages.json 中的 navigationStyle 配置项来实现&#xff0c;具体操作步骤如下&#xff1a; 1.进入 pages.json 文件 在 UniApp 项目的根目录中找到 pages.json 文件&#xff0c;打开该文件。 2…

Win11专业版,eNSP启动失败,错误代码40 解决方法

微软Win11系统默认开启的 Virtualization-based Security &#xff08;VBS&#xff09;“基于虚拟化的安全性”会导致游戏、跑分性能下降。VBS 基于虚拟化的安全性&#xff0c;通常称为内核隔离。使用硬件虚拟化在内存中创建安全区域&#xff0c;为其他安全功能提供了一个安全平…

Appilied energy论文复现:含多类型充电桩的电动汽车充电站优化配置方法程序代码!

本程序参考Applied energy论文《Optimal planning of electric vehicle charging stations comprising multi-types of charging facilities》&#xff0c;文中主要对多类型充电桩的电动汽车充电站进行优化配置&#xff0c;程序较为简单和基础&#xff0c;具有较强的可扩展性和…

adb命令学习记录

1、 adb ( android debug bridge)安卓调试桥&#xff0c;用于完成电脑和手机之间的通信控制。 xcode来完成对于ios设备的操控&#xff0c;前提是有个mac电脑。 安卓系统是基于linux内核来进行开发的。 2、adb的安装: 本身 adb是 android SDK 其中自带的工具&#xff0c;用于完…

排坑指南之STM32串口接收队列定时异常导致接收失败

背景: 公司的项目,今天讲的这部分功能主要是和IC卡读取板进行串口通讯,然后将读取回来的IC卡保存在本地。我在调试的过程中发现了一个问题,上电刚开始的阶段,程序是好用的,能读取回来IC卡卡号,然后运行一段时间之后,就读取不回来卡号了,刷卡没有响应。 摘要: 讲述STM…

C语言--每日练习题--Day38

第一题 1. 下列代码的运行结果&#xff08;&#xff09; short i 65537; int j i 1; printf("i%d,j%d\n", i, j); A&#xff1a;i 65537&#xff0c;j 65538 B&#xff1a;i 1&#xff0c;j 2 C&#xff1a;i -1&#xff0c;j 0 D&#xff1a;i 1&#xff…