十八次(虚拟主机与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 兽径管理 题解|最小生成树
题目大意 洛谷中链接 推荐文章:并查集入门 原文 约翰农场的牛群希望能够在 N N N 个草地之间任意移动。草地的编号由 1 1 1 到 N N N。草地之间有树林隔开。牛群希望能够选择草地间的路径,使牛群能够从任一 片草地移动到任一片其它草地。 牛群可在…...
Python,Maskrcnn训练,cannot import name ‘saving‘ from ‘keras.engine‘ ,等问题集合
Python版本3.9,tensorflow2.11.0,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命令:解压zip文件vim操作详解netstat详解df命令详解ps命令详解find命令详解 tar打包命令详解 tar命令做打包操作 当 tar 命令用于打包操作时,该命令的基本格式为: tar [选项] 源文件或目录此命令常用的选项及…...
AI未来的发展如何
AI(人工智能)的发展前景非常广阔,随着技术的不断进步和应用场景的不断拓展,AI将在多个领域发挥重要作用。以下是对AI发展前景的详细分析: 一、技术突破与创新 生成式AI的兴起:以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…...
学历不是障碍:大专生如何成功进入软件测试行业
摘要: 在当今技术驱动的职场环境中,软件测试已成为一个关键的职业领域。尽管许多人认为高学历是进入这一行业的先决条件,但实际上,大专学历的学生同样有机会在软件测试领域取得成功。本文将探讨大专生如何通过技能提升、实践经验和…...

文件解析漏洞—IIS解析漏洞—IIS6.X
目录 方式 1:目录解析 方式 2:畸形文件解析 方式 3:PUT 上传漏洞(123.asp;.jpg 解析成 asp) 环境:Windows server 2003 添加 IIS 管理工具——打开 IIS——添加网站 创建完成之后,右击创建的…...
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…...

程序员面试 “八股文”在实际工作中是助力、阻力还是空谈?
“八股文”在实际工作中是助力、阻力还是空谈? 作为现在各类大中小企业面试程序员时的必问内容,“八股文”似乎是很重要的存在。但“八股文”是否能在实际工作中发挥它“敲门砖”应有的作用呢?有IT人士不禁发出疑问:程序员面试考…...
广告从用户点击开始到最终扣费的过程
用户点击广告 用户在网页或移动应用上看到广告,并点击广告。这一事件触发了整个广告处理流程。 广告请求触发 用户点击广告后,客户端(如浏览器、APP)向广告系统发送广告点击请求。请求通常包含以下信息: 用户ID 设备信…...
Linux系统编程-信号进程间通信
目录 异步(Asynchronous) 信号 数据结构 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(Spatial Attention Module,空间注意力模块)是一种在神经网络中应用的注意力机制,特别是在处理图像数据时,它能够帮助模型更好地关注输入数据中不同空间位置的重要性。以下是关于SAM的详细解释: 1. 基本…...

【C语言】堆排序
堆排序即利用堆的思想来进行排序,总共分为两个步骤: 1. 建堆 升序:建大堆 降序:建小堆 原因分析: 若升序建小堆时间复杂度是O(N^2) 升序建大堆,时间复杂度O(N*logN) 所以升序建大堆…...

ntp服务重启报错Failed to restart ntpd.service: Unit is masked.
问题概述: 重启ntp服务报错Failed to restart ntpd.service: Unit is masked,使用systemctl unmask ntpd.service命令关闭屏蔽还是报错Failed to restart ntpd.service: Unit is masked 解决方法: 重装ntp服务 yum remove ntpyum install…...
面试题-每日5到
16.Files的常用方法都有哪些? Files.exists():检测文件路径是否存在 Files.createFile():创建文件 Files.createDirectory():创建文件夹 Files.delete():删除一个文件或目录 Files.copy():复制文件 Files.move():移动文件 Files.size():查看文件个数 Files.read():读…...
代码美学大师:打造Perl中的个性化代码格式化工具
代码美学大师:打造Perl中的个性化代码格式化工具 在软件开发过程中,代码的可读性至关重要。Perl,作为一种灵活的脚本语言,允许开发者以多种方式实现代码格式化。自定义代码格式化工具不仅能提升代码质量,还能加强团队…...

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

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...