虚拟主机与vue项目、samba磁盘映射、nfs共享

news2025/1/16 13:53:23

1、复习
(1)tomcat服务器需要jdk环境
版本对应

tomcat9==》jdk1.8

tomcat10==》jdk17

配置系统变量JAVA_HOME

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

(2)nginx平滑升级,不停服升级nginx服务1.26.1==> 1.27.0
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进程

(3)负载均衡 使用nginx管理后端服务器,分配后端服务器压力
1、upstream 服务器组名 {
ip_hash/url_hash/less_conn;

server ip/域名:端口号 状态 weight;

}

 location / {
 ​
              proxy_pass    http://服务器组名;
 ​
 }
 http{
 ​
            server{
 ​
                     upstream server_group_name {
 ​
                                 server 10.0.0.20:80;
                                 server 10.0.0.30:80;
                                 server 10.0.0.40:80; 
 ​
                   }
 ​
                    location  /  {
 ​
                    proxy_pass    http://server_group_name;                                         
 ​
                   }
         }
 }
 /usr/local/nginx/sbin/nginx -s reload
2、虚拟主机搭建环境准备
 将原有的nginx.conf文件备份
 [root@server ~]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
 [root@server ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf
 [root@server ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf.bak > /usr/local/nginx/conf/nginx.conf
原则上一个配置文件拥有一个http区块,并且只有一个

一个http可以有多个server区块

一个server区块成为一个虚拟主机

一个虚拟主机对应一个项目

一个server区块可以有多个location区块

每个location就是一个url链接的匹配规则

3、基于域名的虚拟主机
 [root@server ~]# vim /usr/local/nginx/conf/nginx.conf
  server {
         listen       80;
         server_name  localhost;
         root html;              //目录定位
         location / {
             index index.html;
         }
 [root@server ~]# mkdir /baibai     //创建一个页面根目录
 [root@server ~]# echo "hello,i am baibai" > /baibai/index.html     //创建一个首页
 [root@server ~]# cat /baibai/index.html 
 hello,i am baibai
 在主配置文件中新创建一个七层模块server
 [root@server ~]# vim /usr/local/nginx/conf/nginx.conf
 http {
     include       mime.types;
     default_type  application/octet-stream;
     sendfile        on;
     keepalive_timeout  65;
 ​
     server {
               listen  80;
               server_name   www.baibai.com;
               root    /baibai;        //目录定位
               location  /  {   
                        index   index.html;
               }
     }
 主机解释ip(本机自行进行域名解析)
 [root@server ~]# vim /etc/hosts    //windows路径:c:/windown/system32/drivers/etc/host/
 ......
 10.0.0.10 www.baibai.com
 [root@server ~]# curl www.baibai.com
 hello,i am baibai
一个服务器上同时部署多个项目,为了方便维护,可以将server模块单独抽离出来创建conf文件,然后在主配置文件中使用include添加外部配置,这样让操作更加模块化。

将两个server分开到两个配置文件中

 [root@server ~]# mkdir /usr/local/nginx/conf.d/    //创建新的配置文件目录
 [root@server ~]# sed -n '11,18p' /usr/local/nginx/conf/nginx.conf
     server {
               listen  80;
               server_name   www.baibai.com;
               root    /baibai;
               location  /  {
                        index   index.html;
               }
     }
 [root@server ~]# sed -n '11,18p' /usr/local/nginx/conf/nginx.conf > /usr/local/nginx/conf.d/baibai.conf     //创建新的配置文件
 [root@server ~]# cat /usr/local/nginx/conf.d/baibai.conf 
     server {
               listen  80;
               server_name   www.baibai.com;
               root    /baibai;
               location  /  {
                        index   index.html;
               }
     }
 [root@server ~]# sed -i '11,18d' /usr/local/nginx/conf/nginx.conf    //原配置文件中删除该server
 [root@server ~]# vim /usr/local/nginx/conf/nginx.conf
 http {
     include       mime.types;
     default_type  application/octet-stream;
     sendfile        on;
     keepalive_timeout  65;
 ​
     include   ../conf.d/*.conf;      //包含(引入)位于上级目录中的conf.d文件夹下的所有以.conf 为扩展名的配置文件
 [root@server ~]# /usr/local/nginx/sbin/nginx -s reload

4、基于不同ip地址的虚拟主机
 [root@server ~]# ifconfig ens33:1 10.0.0.11   //加一张网卡
 [root@server ~]# ifconfig
 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
         inet 10.0.0.10  netmask 255.255.255.0  broadcast 10.0.0.255
 ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
         inet 10.0.0.11  netmask 255.0.0.0  broadcast 10.255.255.255
         ether 00:0c:29:b1:2d:68  txqueuelen 1000  (Ethernet)
 [root@server ~]# vim /usr/local/nginx/conf/nginx.conf
 server {
         listen       80;
         server_name  10.0.0.10;     //修改为10.0.0.10
         root html;         //目录定位
         location / {
             index index.html;
         }
 [root@server ~]# vim /usr/local/nginx/conf.d/baibai.conf 
   server {
               listen  80;
               server_name   10.0.0.11;    //修改为10.0.0.11
               root    /baibai;    //目录定位
               location  /  {
                        index   index.html;
               }
     }
 [root@server ~]# /usr/local/nginx/sbin/nginx -s reload

5、基于不同端口的虚拟主机
设置两个server都基于相同的ip地址

 [root@server ~]# vim /usr/local/nginx/conf.d/baibai.conf 
 server {
               listen  80;
               server_name   10.0.0.10;
               root    /baibai;
               location  /  {
                        index   index.html;
               }
     }
 [root@server ~]# /usr/local/nginx/sbin/nginx -s reload
 nginx: [warn] conflicting server name "10.0.0.10" on 0.0.0.0:80, ignored     //报错,产生冲突
 [root@server ~]# vim /usr/local/nginx/conf.d/baibai.conf 
     server {
               listen  8080;        //修改端口
               server_name   10.0.0.10;
               root    /baibai;
               location  /  {
                        index   index.html;
               }
     }
 [root@server ~]# /usr/local/nginx/sbin/nginx -s reload

1、上线商城系统
上线一个静态的前端系统

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

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

(1)项目创建的环境准备
 [root@server ~]# yum list install | grep epel    //检查epel环境
 [root@server ~]# yum list | grep nodejs   //查询nodejs软件包
 [root@server ~]# yum -y install nodejs    //安装nodejs
 [root@server ~]# node -v    //查看nodejs版本
 v16.20.2
 [root@server ~]# yum -y install npm    //安装npm(nodejs的包管理器,rpm是红帽的包管理器)
 [root@server ~]# npm -v   //查看npm版本
 8.19.4
 默认npm下载文件的链接在国家域外,下载很慢,所以使用淘宝的镜像
 [root@server ~]# npm config set registry https://registry.npmmirror.com     //下载国内的包(而不是下载国外的包)
 [root@server ~]# npm install @vue/cli    //使用nmp安装vue
 [root@server ~]# vue
 -bash: vue: 未找到命令
 [root@server ~]# find / -name "vue"   //查找vue文件
 /root/node_modules/vue
 /root/node_modules/.bin/vue
 [root@server ~]# ls -l /root/node_modules/.bin/vue   //可执行文件
 lrwxrwxrwx. 1 root root 22 7月  31 14:40 /root/node_modules/.bin/vue -> ../@vue/cli/bin/vue.js
 [root@server ~]# /root/node_modules/.bin/vue -V   //查看vue版本
 @vue/cli 5.0.8
 [root@server ~]# ln -s /root/node_modules/.bin/vue  /usr/bin/   //创建软链接
 [root@server ~]# vue -V
 @vue/cli 5.0.8
(2)创建vue项目
 [root@server ~]# vue create eleme_web  (空格选择,回车下一步)   //创建名为eleme_web的项目
选择Manually select features 按回车

[root@server eleme_web]# nohup npm run serve&    //将服务放到后台执行
 [1] 3024
 [root@server eleme_web]# nohup: 忽略输入并把输出追加到"nohup.out"
 [root@server eleme_web]# fg    //将进程杀死
 nohup npm run serve
 ​
 ^C
 [root@server eleme_web]# fg
 -bash: fg: 当前: 无此任务
(3)配置samba(linux系统与windows系统磁盘映射实现文件共享)
 1、安装samab
 [root@server eleme_web]# yum -y install samba
 2、编辑配置文件
 [root@server eleme_web]# vim /etc/samba/smb.conf
 [eleme_web]
         comment = eleme_web
         path = /root/eleme_web   //指定了共享的实际路径
         guest ok = no     //不允许访客(未经过认证的用户)访问这个共享
         writable = yes    //允许对这个共享进行写入操作
 3、创建用户
 [root@server eleme_web]# useradd vueediter
 [root@server eleme_web]# smbpasswd -a vueediter
 New SMB password:123(没有回显)
 Retype new SMB password:123(没有回显)
 Added user vueediter.
 4、为该用户在文件夹中添加读写权限
 [root@server eleme_web]# setfacl -m u:vueediter:rwx /root/eleme_web/
 5、启动服务
 [root@server eleme_web]# systemctl start nmb
 [root@server eleme_web]# systemctl start smb

(4)创建nfs服务环境
 [root@server eleme_web]# ls
 babel.config.js  node_modules  package.json    public   src
 jsconfig.json    nohup.out     package-lock.json  README.md  vue.config.js
  public  //存放静态资源 
 [root@server eleme_web]# ls -l public/
 总用量 12
 -rw-r--r--. 1 root root 4286 7月  31 15:04 favicon.ico
 -rw-r--r--. 1 root root  611 7月  31 15:04 index.html
 [root@server eleme_web]# mkdir public/img
 [root@server eleme_web]# mkdir public/video
 [root@server eleme_web]# mkdir public/music
 [root@server eleme_web]# tree public/
 public/
 ├── favicon.ico
 ├── img
 ├── index.html
 ├── music
 └── video
 3 directories, 2 files
(5)部署一台nfs服务器
 [root@elemestatic ~]# yum -y install nfs-utils.x86_64 rpcbind.x86_64   //下载nfs软件与rpcbind依赖软件
 [root@elemestatic ~]# vim /etc/exports   //编写暴露文件
 /static/img/     *(rw,sync)     //共享/static/img/目录   所有人可以访问   拥有读写权限和同步功能
 [root@elemestatic ~]# mkdir -p /static/img   //创建共享目录
 [root@elemestatic ~]# systemctl start nfs    //启动nfs服务
 [root@elemestatic ~]# systemctl start rpcbind   //启动rpcbind服务
 [root@elemestatic ~]# netstat -lntup | grep rpc   //rpc为111端口
 [root@server eleme_web]# yum -y install nfs-utils.x86_64    //nfs客户端也要下载nfs软件
 [root@server eleme_web]# mount -t nfs 10.0.0.50:/static/img/  ./public/img/     //将nfs服务器共享的目录挂载到/root/eleme_web/public/img/下
 将图片拖拽到nfs服务器主机的共享目录中
 [root@elemestatic img]# ls
 月亮.jpg
 [root@server img]# ls    //nfs客户端中可以查看图片
 月亮.jpg
(6)修改vue页面
 [root@server eleme_web]# cd src/views/
 [root@server views]# ls
 AboutView.vue  HomeView.vue
 [root@server views]# vim HomeView.vue 
  <img alt="Vue logo" src="img/月亮.jpg">
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/weixin_70693880/article/details/140830004

(4)创建nfs服务环境
 [root@server eleme_web]# ls
 babel.config.js  node_modules  package.json    public   src
 jsconfig.json    nohup.out     package-lock.json  README.md  vue.config.js
  public  //存放静态资源 
 [root@server eleme_web]# ls -l public/
 总用量 12
 -rw-r--r--. 1 root root 4286 7月  31 15:04 favicon.ico
 -rw-r--r--. 1 root root  611 7月  31 15:04 index.html
 [root@server eleme_web]# mkdir public/img
 [root@server eleme_web]# mkdir public/video
 [root@server eleme_web]# mkdir public/music
 [root@server eleme_web]# tree public/
 public/
 ├── favicon.ico
 ├── img
 ├── index.html
 ├── music
 └── video
 3 directories, 2 files
(5)部署一台nfs服务器
 [root@elemestatic ~]# yum -y install nfs-utils.x86_64 rpcbind.x86_64   //下载nfs软件与rpcbind依赖软件
 [root@elemestatic ~]# vim /etc/exports   //编写暴露文件
 /static/img/     *(rw,sync)     //共享/static/img/目录   所有人可以访问   拥有读写权限和同步功能
 [root@elemestatic ~]# mkdir -p /static/img   //创建共享目录
 [root@elemestatic ~]# systemctl start nfs    //启动nfs服务
 [root@elemestatic ~]# systemctl start rpcbind   //启动rpcbind服务
 [root@elemestatic ~]# netstat -lntup | grep rpc   //rpc为111端口
 [root@server eleme_web]# yum -y install nfs-utils.x86_64    //nfs客户端也要下载nfs软件
 [root@server eleme_web]# mount -t nfs 10.0.0.50:/static/img/  ./public/img/     //将nfs服务器共享的目录挂载到/root/eleme_web/public/img/下
 将图片拖拽到nfs服务器主机的共享目录中
 [root@elemestatic img]# ls
 月亮.jpg
 [root@server img]# ls    //nfs客户端中可以查看图片
 月亮.jpg
(6)修改vue页面
 [root@server eleme_web]# cd src/views/
 [root@server views]# ls
 AboutView.vue  HomeView.vue
 [root@server views]# vim HomeView.vue 
  <img alt="Vue logo" src="img/月亮.jpg">

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

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

相关文章

基于FPGA的出租车计费系统设计---第一版--郝旭帅电子设计团队

欢迎各位朋友关注“郝旭帅电子设计团队”&#xff0c;本篇为各位朋友介绍基于FPGA的出租车计费系统设计—第一版 功能说明&#xff1a; 收费标准&#xff08;里程&#xff09;&#xff1a;起步价5元&#xff0c;包括三公里&#xff1b;三公里之后&#xff0c;每公里2元&#x…

JVM: 堆上的数据存储

文章目录 一、对象在堆中的内存布局1、对象在堆中的内存布局 - 标记字段2、JOL打印内存布局 二、元数据指针 一、对象在堆中的内存布局 对象在堆中的内存布局&#xff0c;指的是对象在堆中存放时的各个组成部分&#xff0c;主要分为以下几个部分&#xff1a; 1、对象在堆中的…

Java SpringTask定时自动化处理

目录 一、自动化处理 1.1 什么是自动化处理 1.2 SpringTask介绍 二、SpringTask的基本使用 2.1 引入依赖 2.2 通过控制台加入注解启用SpringTask 2.3 使用Cron表达式规定时间 2.4 通过Schedule(Cron表达式) 实现定时任务&#xff08;每两秒执行一次&#xff09; 三、实…

【完美解决】 TypeError: ‘str’ object does not support item assignment

【完美解决】 TypeError: ‘str’ object does not support item assignment 在Python编程中&#xff0c;遇到TypeError: str object does not support item assignment这样的错误通常意味着你试图修改字符串中的某个字符&#xff0c;但字符串是不可变类型&#xff0c;不支持这…

【每日一题 | 组成原理】补码溢出判断

题目 题型总结 带符号的定点数表示方式有4种&#xff0c;分别是原码、反码、补码和移码&#xff0c;他们都由两部分组成&#xff0c;分别是符号位和数值位&#xff0c;这四种编码方式非常重要&#xff0c;要熟练掌握他们之间的转换和与真值间的转换。这里我们重点看一下补码&a…

408-部分知识点笔记(自用)

一、操作系统部分 1.内中断&#xff08;异常&#xff09;和外中断&#xff08;中断&#xff09; 1.1 异常&#xff08;内中断&#xff09; 异常就是指CPU内部发生的中断&#xff0c;与当前正在执行的程序有关。类似的内中断有&#xff1a;缺页中断、算法溢出、除以0错误、存…

可视化目标检测算法推理部署(三)YOLOv8模型视频推理

在上一章节中博主利用Gradio完成了YOLOv8模型的图像推理&#xff0c;那么在本章节中将进行视频推理&#xff0c;其代码十分简单&#xff0c;只需要将原本的视频切分为一帧帧图像再去检测即可&#xff0c;代码如下&#xff1a; def detectio_video(input_path):output_path&quo…

[C++]多态与虚函数

一、多态的概念 顾名思义&#xff0c;多态的意思就是一个事物有多种形态&#xff0c;在完成某个行为的时候&#xff0c;当不同的对象去完成时会产生不同的状态。在面向对象方法中一般是这样表示多态的&#xff1a;向不同的对象发送同一条消息&#xff0c;不同的对象在接收时会产…

记录|Stock编程

目录 前言一、Stock编程&#xff1f;二、聊天工具开发1. 目的2. 服务器端开启对端口的监听3. VS创建服务器端ServiceStep1. 创建Step2. Listener对象监听事件Step1~2效果展示 4. 创建客户端&#xff0c;与服务器端链接5. VS创建客户端ClientStep1. 创建Step2. Client对象Step1~…

二维码门楼牌管理应用平台建设:实有人口采集管理

文章目录 前言一、移动快采&#xff0c;精准定位&#xff0c;高效管理二、新增与注销&#xff0c;灵活管理人口信息三、多维度查询&#xff0c;精准锁定目标人群四、信息核实&#xff0c;确保数据准确无误 前言 在智慧城市建设的大潮中&#xff0c;二维码门楼牌管理应用平台以…

POI 快速入门 Excel导入导出

Excel导入导出 1 什么是POI POI简介&#xff08;Apache POI&#xff09;&#xff0c;Apache POI是Apache软件基金会的开放源码函式库&#xff0c;POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 Apache POI官网http://poi.apache.org/ HSSF &#xff0d; 提…

Ubuntu22.04 Docker更换阿里云镜像

由于运营商网络原因&#xff0c;会导致您拉取Docker Hub镜像变慢&#xff0c;甚至下载失败。那么可以更换阿里云镜像加速器&#xff0c;从而加速官方镜像的下载。 1.获取镜像加速器地址 登录容器镜像服务控制台&#xff0c;在左侧导航栏选择镜像工具 > 镜像加速器&#xf…

课题项目结题测试的作用

课题项目结题测试是课题项目研究过程中的一个重要环节&#xff0c;它对于确保课题项目的质量和成果具有重要的作用。本文将详细介绍课题项目结题测试的作用。 一、确保课题项目质量 课题项目结题测试是对课题项目研究成果的全面评估和检测。通过结题测试&#xff0c;可以对课…

使用Echarts来实现数据可视化

目录 一.什么是ECharts? 二.如何使用Springboot来从后端给Echarts返回响应的数据&#xff1f; eg:折线图&#xff1a; ①Controller层&#xff1a; ②service层&#xff1a; 一.什么是ECharts? ECharts是一款基于JavaScript的数据可视化图标库&#xff0c;提供直观&…

生产力工具|vscode for mac安装及过程留存

一、安装vscode 在官网下载.zip 文件&#xff1a; Visual Studio Code - Code Editing. Redefined 第一步&#xff1a;下载后解压后&#xff0c;直接双击种类为应用程序的文件,将vscode显示在启动台的程序中; 第二步:将文件拖到应用程序中&#xff0c;打开启动…

中国工商银行长春分行开展“工驿幸福 健康财富”长辈客群康养活动

中国工商银行长春分行作为国有大行&#xff0c;持续完善有温度、专业化、安全稳健的养老场景服务&#xff0c;以工行驿站为依托、以长辈客群养老需求为中心&#xff0c;积极对接社区构建敬老、康养的“金融泛金融”工行驿站服务生态&#xff0c;进一步提升长辈客群的到店体验。…

APP逆向 day25unidbg中

一.前言 昨天我们讲了unidbg的上篇&#xff0c;都是一些之前讲过的简单案例&#xff0c;末尾还单独说了一个新案例海南航空&#xff0c;今天我们来讲的案例都是之前讲过的&#xff0c;主要是和大家说补环境 二.唯品会skey 大家如果不记得了&#xff0c;可以去看看前面的文章…

一个函数统一238个机器学习R包,这也太赞了吧

Caret 是一个试图标准化机器学习过程的一个包。Caret 对 R 中最常用的机器学习方法 (目前支持238个R包)提供了统一的接口。 进行数据预处理 实现机器学习方法流程化模型构建 通过参数组合和交叉验证评估模型的参数 选择最优模型 评估模型性能 一键满足各种掉包&#xff0c…

带通采样定理

一、采样定理 1.1 低通采样定理(奈奎斯特采样) 低通采样定理&#xff08;奈奎斯特采样&#xff09;是要求大于信号的最高上限频率的两倍 1.2 带通采样定理 带通信号的采样频率在某个时间小于采样频率也能无失真恢复原信号 二、频谱混叠 对一个连续时域信号&#xff0c;采…