云计算实训18——基于域名配置虚拟主机、基于ip配置虚拟主机、基于端口配置虚拟主机、配置samba、部署nfs服务器

news2024/9/24 6:21:54

一、配置文件的结构

1.首先查看配置文件

[root@static-server ~]# vim /usr/local/nginx/conf/nginx.conf

 使用grep指令查看配置文件,同时不看空行不看注释

[root@static-server ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf

 2.备份文件

将原有nginx.conf文件备份

[root@static-server ~]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak

将grep指令查看到的内容重定向到nginx.conf文件中

[root@static-server ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf.bak > /usr/local/nginx/conf/nginx.conf

3.修改配置文件

[root@static-server ~]# vim /usr/local/nginx/conf/nginx.conf

4.启动nginx服务

[root@static-server ~]# /usr/local/nginx/sbin/nginx

5.查看防火墙状态

[root@static-server ~]# systemctl status firewalld

二、基于域名配置虚拟主机

创建项目,部署nginx中发布到网络

第一步:新建目录

[root@static-server ~]# mkdir /dongdong

第二步:写入页面内容

[root@static-server ~]# echo "hello, I am dongdong" > /dongdong/index.html

第三步:新增server模块

[root@static-server ~]# vim /usr/local/nginx/conf/nginx.conf

重新加载服务

[root@static-server ~]# /usr/local/nginx/sbin/nginx -s reload

第四步:修改hosts文件

[root@static-server ~]# vim /etc/hosts

第五步:访问测试

使用浏览器访问

[root@static-server ~]# curl www.dongdong.com
hello, I am dongdong

使用域名访问

在本地磁盘C中搜索

C:\Windows\System32\drivers\etc

找到hosts文件,发现只读,编辑不了

将其复制一份到D盘进行编辑,编辑成功后,将其复制到C盘进行全覆盖就ok了

在hosts文件中新增一行

然后在浏览器访问:

第六步:每一个server单独创建一个文件保存,主配置文件中使用include的具体操作

1.在配置文件中找到server模块

[root@static-server ~]# sed -n '16,24p' /usr/local/nginx/conf/nginx.conf
    server{
        listen    80;
        server_name    www.dongdong.com;
        root        /dongdong;
        location / {
            index    index.html;
        }    

    }

2.新建目录和文件

新建目录

[root@static-server ~]# mkdir /usr/local/nginx/conf.d/

新建文件

[root@static-server ~]#touch /usr/local/nginx/conf.d/dongdong.conf

3.将刚配置的server模块保存到新的目录中

[root@static-server ~]# sed -n '16,24p' /usr/local/nginx/conf/nginx.conf > /usr/local/nginx/conf.d/dongdong.conf

查看
[root@static-server ~]# cat /usr/local/nginx/conf.d/dongdong.conf 
    server{
        listen    80;
        server_name    www.dongdong.com;
        root        /dongdong;
        location / {
            index    index.html;
        }    

    }

4.修改配置文件

删除server模块,新增一行内容

[root@static-server ~]# vim /usr/local/nginx/conf/nginx.conf

5.重新加载服务

[root@static-server ~]# /usr/local/nginx/sbin/nginx -s reload

6.访问测试

输入IP地址访问:192.168.1.40

输入域名访问:www.dongdong.com

综上,实现了IP地址跟域名的分离

三、基于ip配置虚拟主机

第一步:首先新添加一张网卡

然后对新增的网卡2设置新的IP地址

第二步:修改配置文件

[root@static-server ~]# vim /usr/local/nginx/conf/nginx.conf

[root@static-server ~]# vim /usr/local/nginx/conf.d/dongdong.conf 

第三步:重新加载服务

[root@static-server ~]# /usr/local/nginx/sbin/nginx -s reload

第四步:浏览器访问

使用网卡1的IP地址访问:192.168.1.40

使用网卡2的IP地址访问:192.168.1.41

不难发现我们使用,同一台主机不同的IP地址就能够访问到不同的页面

综上,实现了基于IP地址配置虚拟主机

四、基于端口的虚拟主机

1.设置两个server都具有相同的ip

这里将它们的IP地址都设为192.168.1.40

[root@static-server ~]# vim /usr/local/nginx/conf/nginx.conf
[root@static-server ~]# vim /usr/local/nginx/conf.d/dongdong.conf 

此时,重新加载时报错

2.修改配置文件

[root@static-server ~]# vim /usr/local/nginx/conf.d/dongdong.conf 

3.重新加载服务

[root@static-server ~]# /usr/local/nginx/sbin/nginx -s reload

4.浏览器访问测试

在浏览器输入:  192.168.1.40:8080

在浏览器输入ip地址:192.168.1.40

这里不难发现--不同端口访问到的页面不同

综上,实现了基于端口的虚拟主机的配置

五、上线一个静态的前端系统

1.检查是否安装epel
[root@static-server ~]# yum list installed | grep epel

安装epel

[root@static-server ~]# yum -y install epel-release.noarch

安装nidejs

[root@static-server ~]# yum -y install nodejs

检查是否安装nodejs

[root@static-server ~]# node -v
v16.20.2

2.安装npm

---nodejs的管理器

[root@static-server ~]# yum -y install npm

检查是否安装npm

[root@static-server ~]# npm -v
8.19.4

3.版本优化

使得npm的下载文件的连接是国内的

[root@static-server ~]# npm config set registry https://registry.nmpmirror.com

4.安装vue

[root@static-server ~]# npm insatll @vue/cli

查看名字中包含vue的文件

[root@static-server ~]# find / -name "vue"
/root/node_modules/vue
/root/node_modules/.bin/vue

查看文件

[root@static-server ~]# ls -l /root/node_modules/.bin/vue
lrwxrwxrwx. 1 root root 22 7月  31 14:43 /root/node_modules/.bin/vue -> ../@vue/cli/bin/vue.js

查看版本号

[root@static-server ~]# /root/node_modules/.bin/vue -V
@vue/cli 5.0.8

5.创建vue项目

[root@static-server ~]# /root/node_modules/.bin/vue create eleme_web

随后一路回车

出现successfully证明vue项目创建成功

6.运行npm

切入eleme_web目录

[root@static-server ~]# cd eleme_web/

运行

[root@static-server eleme_web]# npm run serve

得到下图所示页面

7.后台运行

[root@static-server eleme_web]# nohup npm run serve&
[3] 3735
[root@static-server eleme_web]# nohup: 忽略输入并把输出追加到"nohup.out"


(1)配置samba


1.安装samba

[root@static-server eleme_web]# yum -y install samba

2.编辑配置文件


[root@static-server eleme_web]# vim /etc/samba/smb.conf

3.创建用户

[root@static-server eleme_web]# useradd vueediter

4.设置密码

[root@static-server eleme_web]# smbpasswd -a vueediter
New SMB password:
Retype new SMB password:
Added user vueediter.

5.添加权限
为该用户在文件夹中添加读、写权限

[root@static-server eleme_web]# setfacl -m u:vueediter:rwx /root/eleme_web/

6.启动服务

启动nmb服务

[root@static-server eleme_web]# systemctl start nmb.service 

启动smb服务

[root@static-server eleme_web]# systemctl start smb.service 

7.创建驱动器

回到真机找到映射网络驱动器,添加如下内容:

输入用户名、密码

下图所示,就是我们所创建的驱动器

8.创建目录

[root@static-server eleme_web]# mkdir public/img
[root@static-server eleme_web]# mkdir public/video
[root@static-server eleme_web]# mkdir public/music

9.查看创建的目录

使用tree命令查看

(2)部署nfs服务器

新建一台主机部署nfs

1.安装软件包

安装rpcbind

[root@eleme-static ~]# yum -y install rpcbind.x86_64 

安装ntf-utils

[root@eleme-static ~]# yum -y install nfs-utils.x86_64 

2.创建目录

[root@eleme-static ~]# mkdir -p /static/img/

3.修改配置文件

[root@eleme-static ~]# vim /etc/exports

4.启动服务

[root@eleme-static ~]# systemctl start rpcbind.service 
[root@eleme-static ~]# systemctl start nfs

5.在原主机上也部署nfs-utils

[root@static-server eleme_web]# yum -y install nfs-utils.x86_64 

6.挂载

[root@static-server eleme_web]# mount -t nfs 192.168.1.80:/static/img public/img/

7.测试

在另一台主机上上传一张图片,在原主机(客户端)也能够看到

上传图片


原主机(客户端)验证

8.上传图片

切入到src目录,找到views目录

进入views目录,找到要编辑的配置文件

编辑配置文件

[root@static-server views]# vim HomeView.vue

9.后台运行

[root@static-server views]# nohup npm run serve&

10.浏览器验证

可以看到我们原本的vue界面发生了变化,变成我们所设置的图片的界面咯

至此,今天的任务结束咯!

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

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

相关文章

ComfyUI插件:ComfyUI Impact 节点(四)

前言: 学习ComfyUI是一场持久战,而 ComfyUI Impact 是一个庞大的模块节点库,内置许多非常实用且强大的功能节点 ,例如检测器、细节强化器、预览桥、通配符、Hook、图片发送器、图片接收器等等。通过这些节点的组合运用&#xff0…

mediawiki 启用 Minerva 皮肤后报错 哎呀!您在$wgDefaultSkin定义的wiki默认皮肤minervaneue不可用。

嗨喽大家好啊我是 kx 这是个常见的问题,废话不多说直接上解决方法 Minerva 皮肤在他的官网有说明怎么办 连接放到下面: https://www.mediawiki.org/wiki/Skin:Minerva_Neue 懒得看的话我把官网的话复制下来了,直接看就行了: 安…

JAVA通过debezium实时采集mysql数据

前期准备 需要提前安装mysql并且开启binlog,需要准备kafka和zookeeper环境 示例采用debezium1.9.0版本 Maven配置 <version.debezium>1.9.0.Final</version.debezium> <dependency> <groupId>io.debezium</groupId> <artifactId>debe…

【大模型系列篇】本地问答系统-部署Ollama、Open WebUI

部署本地大模型&#xff0c;结合Ollama、Open WebUI以及本地RAG&#xff08;Retrieval-Augmented Generation&#xff09;可以为用户提供一个强大的本地知识库和交互式对话系统。以下是详细的部署步骤和功能介绍&#xff1a; 一、部署Ollama 访问Ollama官网&#xff1a;首先&…

【3】Blazor链接数据库

【3】Blazor链接数据 一、引入Nuget包二、添加链接字符串三、创建DbContext四、注入SqlServer数据库五、执行数据库迁移六、创建用户信息页面七、结果展示 一、引入Nuget包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFramework…

Kafka的搭建及使用

Kafka搭建及使用 Kafka搭建 1、上传解压修改环境变量 # 解压 tar -zxvf kafka_2.11-1.0.0.tgz -C /usr/local/soft mv kafka_2.11-1.0.0 kafka-1.0.0tar -xvf 是一个在Unix和类Unix操作系统&#xff08;如Linux和macOS&#xff09;中用于解压缩或解包.tar文件的命令。 tar -…

java调用WebService接口

案例&#xff1a; 接口&#xff1a; http://xxxxx:8080/GetSPService.asmx 调用方法&#xff1a;GetSPByStnCodeToJsonStr 参数1&#xff1a;begin 开始时间 格式 yyyymmdd hh:mi &#xff08;日和小时之间有空格&#xff09; 例如&#xff1a;20230718 06:00 参数2: end …

IO模型思维导图

背景 &#xff1a; 并发服务器模型可以在同一时刻响应多个用户请求 多路复用IO&#xff1a; 4.多路复用IO 1.select 2.poll 3.epoll 1.select 缺点: 1.select监听文件描述符最大个数为1024 &#xff08;数组&#xff…

【CN】Argo 持续集成和交付(二)

7.25.通知 概述 Argo CD 通知持续监控 Argo CD 应用程序&#xff0c;并提供一种灵活的方式来通知用户应用程序状态的重要变化。使用灵活的触发器和模板机制&#xff0c;可以配置何时发送通知以及通知内容。Argo CD 通知包含有用的触发器和模板目录。因此&#xff0c;可以直接…

什么是住宅IP代理?有何用途?

在大数据时代&#xff0c;互联网成为我们生活与工作中不可或缺的一部分。然而&#xff0c;随着网络环境的日益复杂&#xff0c;隐私保护、网络访问限制等问题也逐渐凸显&#xff1b;以及跨境业务蓬勃发展。在这样的背景下&#xff0c;住宅IP代理作为一种技术解决方案&#xff0…

android studio 无法识别androidTest模块Test模块

android studio 无法识别androidTest模块Test模块 问题案例解决方法 androidTest是UI测试&#xff0c;可以运行在设备或虚拟设备上&#xff0c;需要编译打包为APK在设备上运行 版本依赖 android studio 2023.2.1 gradle kts架构 问题案例 下面无法识别到androidTest&#xff…

供应链|OR论文解读:具有内生随机交货期的双源库存最优策略

编者按 本次解读的文章发表于 Operations Research&#xff0c;原文信息&#xff1a;Song, J. S., Xiao, L., Zhang, H., & Zipkin, P. (2017). Optimal policies for a dual-sourcing inventory problem with endogenous stochastic lead times. Operations Research, 65…

11. 统计(均值、方差、正态分布)和聚类(接近kmeans的聚类)分类(python和c++代码)

以下代码的每个函数功能都做了注释&#xff0c;分别用python和c代码做了具体的实现&#xff0c;不是最终效果&#xff0c;后续会继续优化。以下代码中&#xff0c;python代码在每个步骤处理完数据后都画了散点图显示了处理后的数据效果&#xff0c;c代码是从python代码翻译过来…

学习大数据DAY28 python基础语法

目录 思维导图 数据类型 变量 输入 输出 运算符 bool 类型 常量变量拼接 流程控制 选择结构 if 循环结构 while 及 for 循环 字符串(String) 字符串的索引截取 索引 1.len() #获取字符串长度 2.str.find()字符查找 ,找到返回索引&#xff0c;没找到返回-1 3.st…

[Linux安全运维] iptables包过滤

前言 防火墙是网络安全中非常重要的设备&#xff0c;是一种将内部网络和外部网络隔离开的技术。简单来说&#xff0c;防火墙技术就是访问控制技术&#xff0c;由规则和动作组成。 目录 前言1. Linux 包过滤防火墙1 .1 概述1 .2 四表五链结构1 . 2 .1 规则表1 . 2 .2 规则链1 .…

扩散模型系列ControlNet: Adding Conditional Control to Text-to-Image Diffusion Models

向文本到图像扩散模型添加条件控制 摘要解读&#xff1a; 我对摘要英文的理解&#xff1a; 我们提出了一个神经网络架构ControlNet&#xff0c;可以向大规模的预训练好的文本到图像的扩散模型中添加空间条件控制。ControlNet锁住了准备生产的大规模扩散模型&#xff0c;并且重…

SLAM特征提取新变革:神经符号学结合自适应优化,实现环境适应性大飞跃!

论文标题&#xff1a; A Neurosymbolic Approach to Adaptive Feature Extraction in SLAM 论文作者&#xff1a; Yasra Chandio, Momin A. Khan, Khotso Selialia, Luis Garcia, Joseph DeGol, Fatima M. Anwar 导读&#xff1a; 本研究提出了一种创新的神经符号学方法&a…

Mybatis进阶提升-(一)Mybatis入门

前言 Mybatis是Java 项目开发使用率非常高的一款持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff08…

python+selenium+unittest自动化测试框架

前言 关于自动化测试的介绍&#xff0c;网上已有很多资料&#xff0c;这里不再赘述&#xff0c;UI自动化测试是自动化测试的一种&#xff0c;也是测试金字塔最上面的一层&#xff0c;selenium是应用于web的自动化测试工具&#xff0c;支持多平台、多浏览器、多语言来实现自动化…

【实战】SpringBoot整合ffmpeg实现动态拉流转推

SpringBoot整合ffmpeg实现动态拉流转推 在最近的开发中&#xff0c;遇到一个 rtsp 协议的视频流&#xff0c;前端vue并不能直接播放&#xff0c;因此需要对流进行处理。在网上查阅后&#xff0c;ffmpeg和webrtc是最多的解决方案&#xff0c;但是使用webrtc的时候没成功&#x…