部署一个nodejs项目+配置server

news2024/11/15 4:54:16

1.jdk环境

tomcat服务器需要jdk环境

版本对应

​    tomcat9==>jdk1.8

​    tomcat10==>jdk17

配置系统变量JAVA_HOME

2.nginx平滑升级,不停服务升级nginx服务器,1.26.1升级到1.27.0

3.负载均衡,使用nginx管理后端服务器,分配后端服务器压力

     1.upstream 服务器组名

​        1.server

​        2.ip|域名

​        3.端口

​        4.状态

​        5.weight

​        6.ip url  less conn

    2.location / {

​        proxy_pass    http://服务器组名;

​    }

例如:

负载均衡和反向代理

/usr/local/nginx/sbin/nginx -s reload

注:

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

-v:反查,-E:查询   ^$:表示空白行

1.基于域名配置server

1. 一个配置文件一般只有一个 http 模块
2. 一个 http 模块可以有多个 server 模块
3. 一个 server 模块就是一套 web 项目
4. 一个 server 模块中可以有多个 location
5. location 就是项目中的 url 路由

访问:
(1)在window上访问时,要设置以下内容:
c:/windown/system32/drivers/etc/host/  :取消只读,设置权限,如果还不行,就直接创建 新的 host 文件给她覆盖
(2) 配置dns 服务器

一个 nginx 服务器中有多个 server 的时候是非常难于管理的,我们会将 每一个server 单独创建一个文件保存,在主配置文件使用 include

2.基于ip配置server

为网卡添加一个新的 ip 地址:
ifconfig ens33:1 10.1.1.11

3.基于端口配置server

80, 可以省略,一般来说基于端口的配置,用于企业内部的项目测试

systemctl stop firewalld 或者
firelwall-cmd --zone=public --add-ports=8080/tcp --permament &&
firewall-cmd --reload

部署一个nodejs项目

创建饿了么前端页面

(1)安装nodejs和npm:

yum -y install nodejs

yum -y install npm

node  -v

npm  -v

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

[root@slave ~]# npm -v
8.19.4
[root@slave ~]# node -v
v16.20.2
 

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

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

npm config set registry https://registry.npmmirror.com

(2)安装vue脚手架:

 npm install @vue/cli

  202  find / -name "vue"
  203  ls -l /root/node_modules/.bin/vue

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

(3)创建vue项目(eleme)

 /root/node_modules/.bin/vue create eleme_web

注意:

选择第三个:Manually  select  features

选择Router和Veux,后续一直回车即可

然后:

 cd eleme_web
 npm run serve

在浏览器上访问虚拟机中最后出现的网址
 

(4)将 eleme 项目使用 samba 共享 :

配置samba

1.下载samba

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

2.编辑配置文件

[root@slave eleme_web]# pwd
/root/eleme_web
[root@slave eleme_web]# vim /etc/samba/smb.conf

[eleme_web]
        comment = wangjia
        path = /root/eleme_web
        guest ok = no
        writable = yes

3.创建用户:

[root@slave eleme_web]# useradd vueediter
[root@slave eleme_web]# smbpasswd -a vueediter

4.为改用户在文件夹中添加读写权限

[root@slave eleme_web]# setfacl -m u:vueediter:rwx /root/eleme_web/
5.启动服务

[root@slave eleme_web]# systemctl start nmb.service 
[root@slave eleme_web]# systemctl start smb.service 

6.在window上进行连接

[root@slave ~]# cd eleme_web
[root@slave eleme_web]# ls
babel.config.js  package.json       README.md
jsconfig.json    package-lock.json  src
node_modules     public             vue.config.js

注意:public专门用来保存图片,视频等,我们需要搭建一台nfs服务器向以下目录同步图片,视频,音乐等
[root@slave eleme_web]# mkdir public/img
[root@slave eleme_web]# mkdir public/video
[root@slave eleme_web]# mkdir public/music
[root@slave eleme_web]# tree public

 yum -y install nfs-utils.x86_64 

挂载:

[root@slave eleme_web]# mount -t nfs 192.168.118.60:/static/img public/img/

[root@slave ~]# ls eleme_web/public/img
baidu.png

[root@slave eleme_web]# vim src/views/HomeView.vue


[root@slave ~]# cd eleme_web/
[root@slave eleme_web]# npm run serve 或者可以用 

[root@slave eleme_web]# nohup npm run serve&
[1] 10277
[root@slave eleme_web]# nohup: 忽略输入并把输出追加到"nohup.out"

部署nfs服务器:192.168.118.60

  202  yum -y install rpcbind.x86_64 
  203  yum -y install nfs-utils.x86_64 

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

[root@server ~]# vim /etc/exports

/static/img/    *(rw,sync)
 

  208  systemctl start rpcbind.service 
  209  systemctl start nfs

关闭防火墙

[root@server ~]# cd /static/img
[root@server img]# rz -E
rz waiting to receive.
[root@server img]# ls
baidu.png
 


 

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

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

相关文章

基础复习(IO流)

1.File类 创建对象 File f1 new File("D:/resource/ab.txt"); File f2 new File("D:\\resource\\abc.txt"); 基础方法 创建与删除方法 1、public boolean createNewFile():创建一个新文件(文件内容为空),…

区块链技术在智能城市中的创新应用探索

随着全球城市化进程的加速和信息技术的快速发展,智能城市成为了未来城市发展的重要方向。在智能城市建设中,区块链技术作为一种去中心化、安全和透明的分布式账本技术,正逐渐展现出其在优化城市管理、提升公共服务和增强城市安全性方面的潜力…

1.6 树和二叉树

1.树的基本概念 2.二叉树的概念和性质 2.1.二叉树性质 1)结点个数 2)第i层,最多结点个数 3)者深度为k,前k层最多结点个数 4)叶子结点个数 2.2.完全二叉树性质 1)结点个数 2)第i层最多节…

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

一、配置文件的结构 1.首先查看配置文件 [rootstatic-server ~]# vim /usr/local/nginx/conf/nginx.conf 使用grep指令查看配置文件,同时不看空行不看注释 [rootstatic-server ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf 2.备份文件 将原有…

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;并且重…