当前位置: 首页 > news >正文

基于域名+基于ip+基于端口的虚拟主机+上线商务系统

一、回顾

1.jdk环境

tomcat服务器需要jdk环境

版本对应

​ tomcat9==>jdk1.8

配置系统变量JAVA_HOME

sed -i '$aexport JAVA_HOME=/usr/local/jdk22/'  /etc/profile
sed -i '$aexport PATH=$JAVA_HOME/bin:$PATH' /etc/profile
​
source /etc/profile
​
java -version
javac -version
​
spring-boot3 ==>jdk17以上的版本

2.nginx平滑升级

1.下载新的nginx源码包

2.解压

3.配置 要求prefix指定的安装路径和以前的nginx安装位置一样

4.make && make install 在sbin出现两个可执行文件 nginx和nginx.old

5.查看旧的nginx进程,包含一个master和work进程的id

6.kill -USR2 旧的nginx的master进程id,开辟了一个复杂的线程

7.kill -WINCH优雅停用旧的nginx的子进程

8.kill -QUIT 优雅退出旧的nginx的master进程

二、基于域名的虚拟主机

1.创建项目,用于部署在nginx中发布到网络

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

2.在/hui/目录下创建一个index.html

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

3.配置nginx.conf文件

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

4.启动服务

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

5.修改/etc/hosts文件

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

6.测试

在本机上可以访问域名能看到内容

[root@static-server ~]# curl www.hui.comhello,I am hfy

在浏览器上输入域名www.hui.com访问不到内容

7.使域名www.hui.com的测试内容能在浏览器上被访问到

(1)在C:\Windows\System32\drivers\etc中找到hosts文件

(2)修改hosts文件

(3)测试

然后用浏览器访问域名:www.hui.com,就可以访问到内容了

三、多虚拟主机的配置

将刚才配置的server模块保存到一个新的文件中

1.创建文件

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

2.用sed查看刚才在nginx.conf文件中配置的server模块

[root@static-server ~]# sed -n '33,41p' /usr/local/nginx/conf/nginx.conf

 server{listen	80;server_name  www.hui.com;root         /hui;location / {index    index.html;}}

3.将server模块的内容重定向到新建的文件中(/usr/local/nginx/conf.d/hui.conf)

[root@static-server ~]# sed -n '33,41p' /usr/local/nginx/conf/nginx.conf > /usr/local/nginx/conf.d/hui.conf

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

  server{listen	80;server_name  www.hui.com;root         /hui;location / {index    index.html;}}

4.用sed删掉之前在nginx.conf中配置的server模块

[root@static-server ~]# sed -i '33,41d' /usr/local/nginx/conf/nginx.conf

5.查看原来的配置文件,发现已经删掉了配置的server模块

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

6.重启服务

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

7.进行测试

用浏览器访问域名www.hui.com,就发现会访问到本机原来的内容

8.补充

include ../conf.d/*.conf;

使用类似“include /etc/nginx/conf.d/*.conf;”的指令,可以将“/etc/nginx/conf.d/”目录下所有以“.conf”结尾的文件的配置内容引入当前配置。这样可以将配置进行模块化管理,方便维护和扩展。

(1)在配置文件中添加:include ../conf.d/*.conf;

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

(2)重启服务

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

(3)在浏览器上进行测试

四、基于不同IP的虚拟主机

1.给本机网卡添加新的IP

2.修改配置文件

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

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

3.启动服务

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

4.在浏览器上进行测试

(1)访问192.168.2.25时,出现的内容是本机的

(2)访问192.168.2.30时,显示的内容是域名www.hui.com的内容

五、基于端口的虚拟主机

1.设置两个server都基于相同的ip

都使用192.168.2.25这个ip地址

2.修改配置文件

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

3.启动服务

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

4.出现冲突

nginx: [warn] conflicting server name "192.168.2.25" on 0.0.0.0:80, ignored

此警告表示在 Nginx 配置中存在服务器名称冲突的情况。Nginx

在处理 HTTP 请求时,会根据请求头中的 Host 变量与配置文件中

的 server_name 进行匹配来决定由哪个 server 处理请求。当出现

多个相同的 server_name 时,就会产生冲突。

5.解决冲突

为了解决冲突,所以我们给www.hui.com设置8080端口

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

6.重启服务

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

7.使用浏览器访问

(1)访问本机IP(192.168.2.25)时,就会出现本机的内容

(2)访问本机IP(192.168.2.25)加8080端口时,就会出现www.hui.com的内容

六、上线商务系统

上线一个静态的前端系统,生成一个,发布到nginx中

nodejs 安装npm 添加vue模块,使用vue创建vue3项目,构建静态资源,将静态资源添加到nginx项目

环境准备

1.在安装nodejs之前,需要检查是否安装了epel

检查是否安装nodejs,这也是一个运行环境

[root@static-server ~]# yum list installed| grep epelepel-release.noarch 7-11 @extras

2.安装nodejs

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

3.查看nodejs的版本

[root@static-server ~]# node -v

v16.20.2

4.安装npm

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

5.查看npm版本

[root@static-server ~]# npm -v8.19.4

npm和rpm一样-包管理器,npm用于nodejs开发的软件

6.使用淘宝镜像

默认npm的下载文件的链接在国家域外,下载很慢,所以要使用淘宝的镜像

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

7.安装vue

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

vue命令使用不了

[root@static-server ~]# vue

-bash: vue: 未找到命令

8.在整个文件系统中查找名称为“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:41 /root/node_modules/.bin/vue -> ../@vue/cli/bin/vue.js

9.查看vue的版本信息

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

10.创建vue项目

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

(1)选择第三个,回车

(2)选中Router和Vue这两个选项,然后回车

(3)一直回车

(4)这样就是创建好vue项目了

(5)然后进到eleme_web下,启动服务(npm run serve)

(6)用浏览器访问:

11.将eleme项目使用samba共享

配置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

[root@static-server eleme_web]# smbpasswd -a vueediter

(4)为该用户在文件夹中添加读写权限

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

(5)启动服务

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

12.实现windows和linux之间的文件共享

在windows上找到此电脑,完成后就可以实现文件共享了

13.创建文件

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

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

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

[root@static-server eleme_web]# tree public/

public/├── favicon.ico├── img├── index.html├── music└── video

14.实现linux和linux之间的文件共享

部署nfs服务器

(1)新建一台机器IP为:192.168.2.31
(2)安装rpc和nfs

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

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

(3)修改配置文件

root@elemestatic ~]# vim /etc/exports

/static/img/ *{rw,sync}

(4)创建文件

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

(5)启动服务

[root@elemestatic ~]# systemctl start rpcbind.service

[root@elemestatic ~]# systemctl start nfs

(6)查看端口

[root@elemestatic ~]# netstat -lnput|grep nfs

[root@elemestatic ~]# netstat -lnput|grep rpc

(7)去192.168.2.25服务器

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

(8)挂载

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

(9)回到192.168.2.31服务器上
(10)进入到/static/img目录下,拖进去一张图片

[root@elemestatic ~]# cd /static/img

[root@elemestatic img]# rz -E

rz waiting to receive.

[root@elemestatic img]# ls

qq图片.jpg

(11)然后回到192.168.2.25服务器
(12)查看/public/img目录下的内容

[root@static-server eleme_web]# ls public/img/

qq图片.jpg

就会看到已经将图片同步过来了

15.对eleme_web页面的图片进行修改

(1)192.168.2.25服务器
(2)进到src目录下

[root@static-server eleme_web]# cd src

[root@static-server src]# ls views/AboutView.vue HomeView.vue

(3)修改配置文件

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

将public/img中的图片粘贴进去

(4)启动服务

要在eleme_web下启动服务

(5)浏览器访问 http://192.168.2.25:8081/

相关文章:

基于域名+基于ip+基于端口的虚拟主机+上线商务系统

一、回顾 1.jdk环境 tomcat服务器需要jdk环境 版本对应 ​ tomcat9>jdk1.8 配置系统变量JAVA_HOME sed -i $aexport JAVA_HOME/usr/local/jdk22/ /etc/profile sed -i $aexport PATH$JAVA_HOME/bin:$PATH /etc/profile ​ source /etc/profile ​ java -version java…...

vue每次路由跳转前将页面滚动到顶部

在Vue.js应用中,特别是使用Vue Router进行页面路由管理时,router.beforeEach是一个非常有用的导航守卫(Navigation Guard)。它允许你在路由跳转之前执行一些逻辑,比如权限验证、页面跳转前的数据加载、滚动位置重置等。…...

【Qt】QDateTimeEdit

在Qt中,QDateEdit是用于选择日期的微调框,QTimeEdit是用于选择小时和分钟的微调框 QDateTimeEdit则是基于QDateEdit和QTimeEdit的组合控件,能够同时显示日期和时间,并允许用户以交互方式编辑日期 常用属性 属性说明dateTime时间…...

Redis和Mysql如何保持数据一致性

一般情况下,Redis是用来实现应用和数据库之间读操作得缓存层,主要目的是减少数据库IO,还可以提升数据的IO性能。 当应用程序需要去读取某个数据时,会首先尝试去Redis里面加载,如果命中就直接返回,如果没有…...

Java中Optional相关

Java中Optional相关 orElse 提供默认值以确保不会返回 null。 适用于默认情况下的备选值或简单计算结果。 // 如果 optionalName 为空&#xff0c;返回 "Unknown" Optional<String> optionalName Optional.empty(); String result optionalName.orElse(&q…...

AI在HR候选人关系管理中的革新应用

一、引言 随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;其在人力资源管理&#xff08;HR&#xff09;领域的应用也日益广泛。特别是在候选人关系管理方面&#xff0c;AI技术不仅提高了管理效率&#xff0c;还使得候选人体验得到了极大的改善。本文将深入分…...

HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字+烟花特效)

利用HTMLCSSJavaScript制作了一个简单的七夕表白网页&#xff1a; 这是一个简单的表白功能&#xff0c;可以用于小哥哥小姐姐在情人节向心爱的人表白使用点击信封中间的爱心&#xff0c;会出现一封信由信封向外展开&#xff0c;与此同时会有烟花绽放&#xff0c;并且自动播放背…...

【Python机器学习系列】一文教你实现决策树模型可视化(案例+源码)

这是我的第335篇原创文章。 一、引言 决策树是一个有监督分类模型&#xff0c;本质是选择一个最大信息增益的特征值进行输的分割&#xff0c;直到达到结束条件或叶子节点纯度达到阈值。根据分割指标和分割方法&#xff0c;可分为&#xff1a;ID3、C4.5、CART算法。每一种颜色代…...

如何在Python中使用网页抓取API获得Google搜索结果

SERP是搜索引擎结果页的缩写&#xff0c;它是你在百度、谷歌、Bing等搜索引擎中提交查询后所得到的页面。搜索引擎需要给所有页面做排序&#xff0c;把最能解决我们需求的页面展示给我们&#xff0c;企业会非常关注结果页的排序&#xff0c;也就是本企业内容的自然排名情况。手…...

Postman高频面试题及答案汇总(接口测试必备)

Postman在软件测试的面试中&#xff0c;可以说是必考题了&#xff0c;既然是高频考题&#xff0c;当然得为粉丝宝宝们整理一波题库喽~ 一、Postman在工作中使用流程是什么样的&#xff1f; 二、你使用过Postman的哪些功能&#xff1f; 三、Postman如何管理测试环境&#xff…...

JavaEE 初阶(13)——多线程11之“定时器”

目录 一. 什么是“定时器” 二. 标准库的定时器 三. 定时器的实现 MyTimer 3.1 分析思路 1. 创建执行任务的类。 2. 管理任务 3. 执行任务 3.2 线程安全问题 四. 拓展 一. 什么是“定时器” 定时器是软件开发中的一个重要组件&#xff0c;类似于一个“闹钟”&#xff0…...

2024最新全开源付费进群系统源码二开修复版 支持易支付

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 全开源付费进群系统源码&#xff0c;开源无加密无授权&#xff0c;优化电脑端访问布局&#xff0c;支持dai理&#xff0c;对接易支付通道&#xff0c;dai理可以配置自己易支付接口&am…...

【奥顺苹果CMS二开泛目录4.X版】PHP站群程序新增首页堆砌关键词新增四套seo模板

演示站&#xff08;赠送四套模板&#xff09;&#xff1a; https://macfan.qdwantong.com https://macfan2.qdwantong.com https://macfan3.qdwantong.com https://macfan4.qdwantong.com 4.X版程序特色功能&#xff1a; 后台除了可以设置干扰码、转码、插入符号和拼音这…...

day06 项目实践:router,axios

vue组件的生命周期钩子 今天几乎没有讲什么新内容&#xff0c;就是一起做项目&#xff0c;只有一个小小的知识点&#xff0c;就是关于vue组件的生命周期钩子&#xff0c;其中最重要的四个函数—— beforeCreate()&#xff1a;组件创建之间执行 created()&#xff1a;组件创建…...

⌈ 传知代码 ⌋ 基于矩阵乘积态的生成模型

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…...

软件测试必备技能

在软件测试领域&#xff0c;以下是一些必备的技能和能力&#xff0c;可以帮助你成为一名优秀的软件测试工程师&#xff1a; 1. 测试基础知识&#xff1a; 熟悉软件测试的基本概念、原则和流程&#xff0c;包括不同类型的测试&#xff08;如单元测试、集成测试、系统测试&#…...

TL3568编译uboot报错

编译uboot前&#xff0c;需要 ① sudo apt-get install device-tree-compiler 否则会报“ERROR: No dtc” ② sudo apt install python 装个Python2&#xff0c;否则会报“ERROR: No python2”...

qiankun 微前端 隔离子应用样式,解决 ant-design-vue 子应用样式污染问题(已落地)

样式冲突产生原因 先分析乾坤qiankun 构建之后&#xff0c;会根据你的配置 给每个子应用生成一个id&#xff0c; 当加载到对应子应用的时候&#xff0c;就把内容放到对应的id 标签里去&#xff0c; 这样能有效的隔离 js 代码&#xff0c;但是样式是加载在全局的 所以 当两个子…...

一个前后端分离架构的低代码开发平台,支持微服务架构,支持开发SAAS项目(附源码)

前言 在当前的企业软件开发领域&#xff0c;开发者常常面临着代码重复性高、开发效率低、项目周期长等挑战。现有的软件解-决方案往往难以满足快速变化的市场需求&#xff0c;特别是在SAAS项目、企业信息管理系统&#xff08;MIS&#xff09;、内部办公系统&#xff08;OA&…...

whisper+whisperx ASR加对齐

忘了怎么安装了&#xff0c;这里记录一下整理出来的类&#xff0c;不过这个 from chj.comm.pic import *import json import whisper import whisperx import gcclass Warp_whisper:def __init__(self, language"zh", device"cuda", compute_type"fl…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...