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

十八次(虚拟主机与vue项目、samba磁盘映射、nfs共享)

1、虚拟主机搭建环境准备

将原有的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链接的匹配规则

2、基于域名的虚拟主机

 [root@server ~]# vim /usr/local/nginx/conf/nginx.confserver {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.confhttp {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.comhello,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.confserver {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.confhttp {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

3、于不同ip地址的虚拟主机

[root@server ~]# ifconfig ens33:1 10.0.0.11   //加一张网卡
[root@server ~]# ifconfigens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 10.0.0.10  netmask 255.255.255.0  broadcast 10.0.0.255ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 10.0.0.11  netmask 255.0.0.0  broadcast 10.255.255.255ether 00:0c:29:b1:2d:68  txqueuelen 1000  (Ethernet)[root@server ~]# vim /usr/local/nginx/conf/nginx.confserver {listen       80;server_name  10.0.0.10;     //修改为10.0.0.10root 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.11root    /baibai;    //目录定位location  /  {index   index.html;}}[root@server ~]# /usr/local/nginx/sbin/nginx -s reload

4、基于不同端口的虚拟主机

设置两个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 reloadnginx: [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

5、上线商城系统

上线一个静态的前端系统 安装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 ~]# 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 按回车

选择Router和Vuex按空格后 按回车

一直回车到下图所示

项目创建完成,按照提示信息进行下一步操作

[root@server ~]# cd eleme_web/
[root@server eleme_web]# npm run serve   //运行服务

浏览器访问:10.0.0.10:8080

[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系统磁盘映射实现文件共享

安装samba

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

编辑配置文件

[root@static eleme_web]# vim /etc/samba/smb.conf
​
[eleme_web]
​comment=yjj
​path=/root/eleme_web
​guest ok=no
​writable=yes
[root@static eleme_web]# useradd vueediter
[root@static eleme_web]# smbpasswd -a vueediter
New SMB password:1
Retype new SMB password:1
Added user vueediter.
​

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

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

启动服务

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

windows测试:点击此电脑-----计算机-------映射网络驱动器

创建nfs环境

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

部署nfs服务器

[root@eleme ~]# yum -y install rpcbind
[root@eleme ~]# yum -y install nfs-utils
[root@eleme ~]# vim /etc/exports
/static/img/ *{rw,sync}   #共享/static/img/目录   所有人可以访问   拥有读写权限和同步功能
[root@eleme ~]# mkdir -p /static/img/
[root@elemestatic ~]# systemctl start nfs    //启动nfs服务
[root@elemestatic ~]# systemctl start rpcbind   //启动rpcbind服
[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
1.jpg
[root@server img]# ls    //nfs客户端中可以查看图片
1.jpg

修改vue页面

[root@server eleme_web]# cd src/views/
[root@server views]# lsAboutView.vue  HomeView.vue
[root@server views]# vim HomeView.vue <img alt="Vue logo" src="img/1.jpg">

相关文章:

十八次(虚拟主机与vue项目、samba磁盘映射、nfs共享)

1、虚拟主机搭建环境准备 将原有的nginx.conf文件备份 [rootserver ~]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak[rootserver ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf[rootserver ~]# grep -Ev "#|^$"…...

P1340 兽径管理 题解|最小生成树

题目大意 洛谷中链接 推荐文章&#xff1a;并查集入门 原文 约翰农场的牛群希望能够在 N N N 个草地之间任意移动。草地的编号由 1 1 1 到 N N N。草地之间有树林隔开。牛群希望能够选择草地间的路径&#xff0c;使牛群能够从任一 片草地移动到任一片其它草地。 牛群可在…...

Python,Maskrcnn训练,cannot import name ‘saving‘ from ‘keras.engine‘ ,等问题集合

Python版本3.9&#xff0c;tensorflow2.11.0&#xff0c;keras2.11.0 问题一、module keras.engine has no attribute Layer Traceback (most recent call last):File "C:\Users\Administrator\Desktop\20240801\代码\test.py", line 16, in <module>from mrc…...

Linux常用工具

文章目录 tar打包命令详解unzip命令&#xff1a;解压zip文件vim操作详解netstat详解df命令详解ps命令详解find命令详解 tar打包命令详解 tar命令做打包操作 当 tar 命令用于打包操作时&#xff0c;该命令的基本格式为&#xff1a; tar [选项] 源文件或目录此命令常用的选项及…...

AI未来的发展如何

AI&#xff08;人工智能&#xff09;的发展前景非常广阔&#xff0c;随着技术的不断进步和应用场景的不断拓展&#xff0c;AI将在多个领域发挥重要作用。以下是对AI发展前景的详细分析&#xff1a; 一、技术突破与创新 生成式AI的兴起&#xff1a;以ChatGPT为代表的生成式AI技…...

若依替换首页上的logo

...

sed的使用示例

场景:使用sed将多个空格变成单空格,再使用cut来切分得到需要的结果 得到后面这个文件名: ls ./ drwxr-x— 2 root root 6 Jul 18 9:00 7b40f1412d83c1524af7977593607f15 drwxr-x— 2 root root 6 Jul 18 14:00 50af29cef2c65a9d28905a3ce831bcb7 drwxr-x— 2 root root 6 Jul…...

学历不是障碍:大专生如何成功进入软件测试行业

摘要&#xff1a; 在当今技术驱动的职场环境中&#xff0c;软件测试已成为一个关键的职业领域。尽管许多人认为高学历是进入这一行业的先决条件&#xff0c;但实际上&#xff0c;大专学历的学生同样有机会在软件测试领域取得成功。本文将探讨大专生如何通过技能提升、实践经验和…...

文件解析漏洞—IIS解析漏洞—IIS6.X

目录 方式 1&#xff1a;目录解析 方式 2&#xff1a;畸形文件解析 方式 3&#xff1a;PUT 上传漏洞&#xff08;123.asp;.jpg 解析成 asp&#xff09; 环境&#xff1a;Windows server 2003 添加 IIS 管理工具——打开 IIS——添加网站 创建完成之后&#xff0c;右击创建的…...

Sqlmap中文使用手册 - Brute force模块参数使用

目录 1. Brute force模块的帮助文档2. 各个参数的介绍2.1 --common-tables2.2 --common-columns2.3 --common-files 1. Brute force模块的帮助文档 Brute force:These options can be used to run brute force checks--common-tables Check existence of common tables--c…...

ubuntu20.04 开源鸿蒙源码编译配置

替换华为源 sudo sed -i "shttp://.*archive.ubuntu.comhttp://repo.huaweicloud.comg" /etc/apt/sources.list && sudo sed -i "shttp://.*security.ubuntu.comhttp://repo.huaweicloud.comg" /etc/apt/sources.list 安装依赖工具 如果是ubun…...

程序员面试 “八股文”在实际工作中是助力、阻力还是空谈?

“八股文”在实际工作中是助力、阻力还是空谈&#xff1f; 作为现在各类大中小企业面试程序员时的必问内容&#xff0c;“八股文”似乎是很重要的存在。但“八股文”是否能在实际工作中发挥它“敲门砖”应有的作用呢&#xff1f;有IT人士不禁发出疑问&#xff1a;程序员面试考…...

广告从用户点击开始到最终扣费的过程

用户点击广告 用户在网页或移动应用上看到广告&#xff0c;并点击广告。这一事件触发了整个广告处理流程。 广告请求触发 用户点击广告后&#xff0c;客户端&#xff08;如浏览器、APP&#xff09;向广告系统发送广告点击请求。请求通常包含以下信息&#xff1a; 用户ID 设备信…...

Linux系统编程-信号进程间通信

目录 异步&#xff08;Asynchronous&#xff09; 信号 数据结构 1.kill 2.alarm 3.pause 4.setitimer 5.abort 信号集(sigset_t类型) 1.sigemptyset 2.sigfillset 3.sigaddset 4.sigdelset 5.sigismember 信号屏蔽 1.sigprocmask 2.sigpending 3.sigsus…...

Attention Module (SAM)是什么?

SAM&#xff08;Spatial Attention Module&#xff0c;空间注意力模块&#xff09;是一种在神经网络中应用的注意力机制&#xff0c;特别是在处理图像数据时&#xff0c;它能够帮助模型更好地关注输入数据中不同空间位置的重要性。以下是关于SAM的详细解释&#xff1a; 1. 基本…...

【C语言】堆排序

堆排序即利用堆的思想来进行排序&#xff0c;总共分为两个步骤&#xff1a; 1. 建堆 升序&#xff1a;建大堆 降序&#xff1a;建小堆 原因分析&#xff1a; 若升序建小堆时间复杂度是O(N^2) 升序建大堆&#xff0c;时间复杂度O&#xff08;N*logN&#xff09; 所以升序建大堆…...

ntp服务重启报错Failed to restart ntpd.service: Unit is masked.

问题概述&#xff1a; 重启ntp服务报错Failed to restart ntpd.service: Unit is masked&#xff0c;使用systemctl unmask ntpd.service命令关闭屏蔽还是报错Failed to restart ntpd.service: Unit is masked 解决方法&#xff1a; 重装ntp服务 yum remove ntpyum install…...

面试题-每日5到

16.Files的常用方法都有哪些&#xff1f; Files.exists():检测文件路径是否存在 Files.createFile():创建文件 Files.createDirectory():创建文件夹 Files.delete():删除一个文件或目录 Files.copy():复制文件 Files.move():移动文件 Files.size():查看文件个数 Files.read():读…...

代码美学大师:打造Perl中的个性化代码格式化工具

代码美学大师&#xff1a;打造Perl中的个性化代码格式化工具 在软件开发过程中&#xff0c;代码的可读性至关重要。Perl&#xff0c;作为一种灵活的脚本语言&#xff0c;允许开发者以多种方式实现代码格式化。自定义代码格式化工具不仅能提升代码质量&#xff0c;还能加强团队…...

成为一名月薪 2 万的 web 安全工程师需要掌握哪些技能?

现在 web 安全工程师比较火&#xff0c;岗位比较稀缺&#xff0c;现在除了一些大公司对学历要求严格&#xff0c;其余公司看中的大部分是能力。 有个亲戚的儿子已经工作 2 年了……当初也是因为其他的行业要求比较高&#xff0c;所以才选择的 web 安全方向。 资料免费分享给你…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...