Centos7部署Vue项目

2023-11-07

一 :安装docker

(1)安装依赖包:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 

(2)设置阿里云镜像源

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

(3)安装

sudo yum install docker-ce docker-ce-cli containerd.io

选择yes

(4)启动 Docker

 sudo systemctl start docker

(5)测试是否安装成功

 sudo docker run hello-world

(6)设置开机自启:

sudo systemctl enable docker 

 

一些命令:

docker ps       列出容器

docker images 列出本地镜像

 

二:安装Nginx

Nginx也是服务器web服务器反向代理服务器

(1)搜索nginx:

docker   search  nginx

(2)看到下载最多的进行下载:

docker pull nginx  

(3)查看下载是否成功(列出下载的镜像):

docker images 

(4)启动服务器:

docker run -d -p 8080:80  --name nginx-8080 nginx

这样就完成了启动:

ip+8080

(5)docker ps查看启动的容器:

docker ps

(6)关闭启动的容器:

docker stop  xxx

xxx   可以通过docker  ps进行查看

(7)重新启动docker:

docker restart xxx

(8)查看历史记录吧:

docker ps -a

三:文件映射

我们电脑里面的docker中的配置文件要修改的话,就要从我们的电脑进入docker,修改完配置文件之后再出来。

是这个过程很繁琐,为什么不把本机的配置映射过去呢。直接在本机就修改了,服务器那边也重启一下就ok了。

nginx中:

配置文件位置:/etc/nginx/
项目位置:/usr/share/nginx/html

/home
       dong
             nginx
                    conf.d    
                    
                             default.conf

                    html
                             index.html

(1)新建如上目录:

(2)default.conf:

server {
    listen       80;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

(3)index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文档标题</title>
</head>
 
<body>
ohhhh,myconf/index.html
</body>
 
</html>

(4)修改完之后进行启动:

一个是配置文件,一个是首页,

我们对配置文件,和访问的首页都进行了映射,

并对首页进行了更改。

docker run -d 
-p 8080:80 
-v /home/dongran/nginx/conf.d:/etc/nginx/conf.d 
-v /home/dongran/nginx/html:/usr/share/nginx/html 
nginx

注意不能换行,一行连这写

docker run -d -p 8080:80 -v /home/dongran/nginx/conf.d:/etc/nginx/conf.d  -v /home/dongran/nginx/html:/usr/share/nginx/html nginx

这样就完成了修改配置文件进行启动 

ip+8080

前提上一步的8080已经关闭了! docker  stop   xxx

(5)网页写的什么内容就显示什么内容。

 

四:反向代理

我们到目前为止可以通过修改配置文件进行启动了.但是还是不太理想,为什么我们带着端口进行访问呢,直接输入域名不好吗?

但是有多个网站怎么办啊。

所以就有了反向代理,通过设置路径,访问到不同的端口进行访问网站,

eg:

abc.com/student          ip+8080

abc.com/teacher          ip+8081

abc.com/admin            ip+8082

这样以后就不用带着端口好了

(1)目录如下:

/home
       dong
             nginx
                    conf.d    
                    
                             default.conf

                    html
                             index.html

                    conf.d2

                             default.conf

                    html2

                             index.html

新建conf.d2和html2

 

conf.d2,html2分别做代理服务器的配置文件和根目录资源地址

docker run -d -p 80:80 -v /home/dongran/nginx/conf.d2:/etc/nginx/conf.d -v /home/dongran/nginx/html2:/usr/share/nginx/html nginx

注意:作为代理服务器时,访问的跟路径就是配置的跟路径(/home/dongran/nginx/html2)

配置地址为(/home/dongran/nginx/conf.d2)

所以当vue项目反响代理时会丢失js,css等,这个时候就要把assetsPublicPath这个参数设置为绝对路径,因为我们访问的 就是80所以把静态资源直接放到根目录就正好可以获得到了

这样的的话我们就可以得到资源了

 

(2)设置参数进行代理

server {
    listen       80;
    server_name  localhost;
    location /student {
        proxy_pass   http://ip:8080/;
    }
}

这样我就可以通过ip直接访问,不用加端口号了。ip+/student

我们还可以设置多个代理:

server {
    listen       80;
    server_name  localhost;
    location /student {
        proxy_pass   http://ip:8080/;
    }
    location /teacher{
        proxy_pass   http://ip:8081/;
    }
}

 

启动8080,8081

启动自己的8080,8081,但是其要配置参数没用,只要路径就行了推荐使用1)

1)

docker run -d -p 8080:80 -v $PWD/dist:/usr/share/nginx/html nginx

2) 

docker run -d -p 8081:80 
-v  /home/dongran/nginx/conf.d:/etc/nginx/conf.d 
-v /home/dongran/nginx/html:/usr/share/nginx/html
nginx

 

五:负载均衡

我有两台以上的服务器,当我要访问的时候根据情况来进行访问

(1)设置参数

upstream group1{
    server ip:8080;
    server ip:8081;
}

server {
    listen       80;
    server_name  localhost;
    location /student{
        proxy_pass   http://group1/;
    }
}

 

就是会根据情况对8080,8081服务器进行访问。

(2)进行再次配置权重:

upstream group1{
    server ip:8080 weight=100;
    server ip:8081 weight=10;
}

server {
    listen       80;
    server_name  localhost;
    location /student{
        proxy_pass   http://group1/;
    }
}

 

 

参考:https://www.jianshu.com/nb/43171210

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Centos7部署Vue项目 的相关文章

  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • nslookup 报告“无法解析 '(null)': 名称无法解析”,尽管它成功解析了 DNS 名称

    我在 ubuntu 上 并且正在运行 docker 默认桥接网络 我有 Zookeeper kafka 的容器化版本 以及我编写的与 kafka 对话的应用程序 I do a docker exec it
  • 如何在Linux内核源代码中打印IP地址或MAC地址

    我必须通过修改 Linux 内核源代码来稍微改变 TCP 拥塞控制算法 但为了检查结果是否正确 我需要记录 MAC 或 IP 地址信息 我使用 PRINTK 函数来打印内核消息 但我感觉很难打印出主机的MAC IP地址 printk pM
  • NPTL 和 POSIX 线程有什么区别?

    NPTL 和 POSIX 线程之间的基本区别是什么 这两者是如何演变的 POSIX 线程 pthread 不是一个实现 它是几个函数的 API 规范 纸上的标准 英文 其名称以pthread 以及定义在
  • os.Mkdir 和 os.MkdirAll 权限

    我正在尝试在程序开始时创建一个日志文件 我需要检查是否 log如果不创建目录 则目录存在 然后继续创建日志文件 好吧 我尝试使用os Mkdir 也os MkdirAll 但无论我在第二个参数中输入什么值 我都会得到一个没有权限的锁定文件夹
  • Linux:如何从特定端口发送TCP数据包?

    如何打开原始套接字以从特定 TCP 端口发送 我希望所有连接始终来自临时端口以下的一系列端口 如果您正在使用raw套接字 然后只需在数据包标头中填写正确的 TCP 源端口即可 相反 如果您使用 TCP 套接字接口 socket connec
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • C语言中如何通过内存地址映射函数名和行号?

    如何用 GCC 中的内存地址映射回函数名称和行号 即假设一个 C 语言原型 void func Get the address of caller maybe this could be avoided MemoryAddress get
  • 为arm构建WebRTC

    我想为我的带有arm926ej s处理器的小机器构建webrtc 安装 depot tools 后 我执行了以下步骤 gclient config http webrtc googlecode com svn trunk gclient s
  • 将 jar 作为 Linux 服务运行 - init.d 脚本在启动应用程序时卡住

    我目前正在致力于在 Linux VM 上实现一个可运行的 jar 作为后台服务 我已经使用了找到的例子here https gist github com shirish4you 5089019作为工作的基础 并将 start 方法修改为
  • 多处理:仅使用物理核心?

    我有一个函数foo它消耗大量内存 我想并行运行多个实例 假设我有一个有 4 个物理核心的 CPU 每个核心有两个逻辑核心 我的系统有足够的内存来容纳 4 个实例foo并行但不是 8 个 此外 由于这 8 个核心中的 4 个是逻辑核心 我也不
  • ftrace:仅打印trace_printk()的输出

    是否可以只转储trace printk 输出于trace文件 我的意思是过滤掉函数跟踪器 或任何其他跟踪器 中的所有函数 一般来说 您可以在选项目录中关闭选项 sys kernel debug tracing options Use ls显
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • CoAP数据包的大小是多少?

    我是这项技术的新手 有人可以帮助我了解一些疑问吗 Q 1 CoAP数据包的大小是多少 我知道有 4 字节固定标头 但是包括标头 选项和负载在内的最大大小限制是多少 Q 2 有像MQTT那样的Keep Alive的概念吗 它在UDP上工作 它
  • 如何在 Bash 中给定超时后终止子进程?

    我有一个 bash 脚本 它启动一个子进程 该进程时不时地崩溃 实际上是挂起 而且没有明显的原因 闭源 所以我对此无能为力 因此 我希望能够在给定的时间内启动此进程 如果在给定的时间内没有成功返回 则将其终止 有没有simple and r
  • “make install”将库安装在 /usr/lib 而不是 /usr/lib64

    我正在尝试在 64 位 CentOS 7 2 上构建并安装一个库 为了这个目的我正在跑步 cmake DCMAKE BUILD TYPE Release DCMAKE INSTALL PREFIX usr DCMAKE C COMPILER
  • 按进程名称过滤并记录 CPU 使用情况

    Linux 下有选项吗顶部命令 https www man7 org linux man pages man1 top 1 html我可以在哪里按名称过滤进程并将每秒该进程的 CPU 使用情况写入日志文件 top pgrep 过滤输出top
  • 如何在基于 Linux 的系统上的 C 程序中使用 mqueue?

    如何在基于 Linux 的系统上的 C 程序中使用 mqueue 消息队列 我正在寻找一些好的代码示例 可以展示如何以正确且正确的方式完成此操作 也许是一个操作指南 下面是一个服务器的简单示例 该服务器接收来自客户端的消息 直到收到告诉其停
  • 如何减去两个 gettimeofday 实例?

    我想减去两个 gettimeofday 实例 并以毫秒为单位给出答案 这个想法是 static struct timeval tv gettimeofday tv NULL static struct timeval tv2 gettime
  • 子目录中的头文件(例如 gtk/gtk.h 与 gtk-2.0/gtk/gtk.h)

    我正在尝试使用 GTK 构建一个 hello world 其中包括以下行 include

随机推荐

  • hualinux2.21 环境搭建:Centos8安装 LVS+keepalived高可用负载均衡

    在前面讲了 hualinux2 19 环境搭建 Centos8 nginx负载均衡 反代 和 hualinux2 20 环境搭建 centos8源安装haproxy 两个常用的负载均衡 基本上都是推荐做七层负载 虽然也有四层负载的能力 现在
  • ViewPager2一页展示多个Item且两边滑动

    ViewPager2一页展示多个Item且两边滑动 研究背景 在项目中有一个滚轮选择器的需求 对于小组件的研发 我一直倾向于自研 一方面功能不复杂 另一方面也锻炼自己的思维能力 不只是局限于上次研发 传统Viewpager解决方法 对于传统
  • C#类型推测

    代码 using System using System Collections Generic using System Linq using System Text using System Threading Tasks namesp
  • IT项目管理 — 作业8

    题目 二选一 教材练习题作业1 3 教材操作案例 Running Case 作业1 3 解答 选择教材练习题作业1 3 练习题1 假设你的组织想聘用新教师来教授项目管理课程 制定一个质量标准的清单 可用于做出此次聘用决定 质量标准清单 教师
  • 判断数组或对象里是否有值

    function checkArray arr for let i 0 i lt arr length i const obj arr i for const key in obj if Object prototype hasOwnPro
  • Windows微信可以上网但是浏览器却用不了网络如何解决

    1 清除DNS缓存 这个主要用于某些网站打不开的情形 首先同时按WINDOWS R键 在弹出窗口输入CMD 然后回车 在弹出的命令提示符中输入ipconfig flushdns 然后回车 2 重置winsock目录 在命令提示符中输入net
  • Git配置用户名和邮箱

    设备 Windows10 git MINGW64 一般刚安装Git都要配置用户名和邮箱 因为你提交代码到本地仓库 上传代码到远程仓库 时会用到 如果没有没有配置 在你提交时它会提醒你的 那么接下来我们讲一下怎么配置 目录 1 查看git的配
  • 基于Python的情感分析案例——知网情感词典

    1 情感分析含义 情感分析指的是对新闻报道 商品评论 电影影评等文本信息进行观点提取 主题分析 情感挖掘 情感分析常用于对某一篇新闻报道积极消极分析 淘宝商品评论情感打分 股评情感分析 电影评论情感挖掘 情感分析的内容包括 情感的持有者分析
  • Linux:apache配置与应用

    Linux apache配置与应用 一 虚拟 Web 主机 1 1 虚拟Web主机 1 2 httpd服务支持的虚拟主机类型 二 基于域名的虚拟主机 2 1 为虚拟主机提供域名解析 2 2 为虚拟主机准备网页文档 2 3 添加虚拟主机配置
  • ezpolt和plot区别_《qqplot2: 数据分析与图形艺术》第4章学习笔记

    第4章 用图层构建图像 每个图层孝可以有自己的数据集和图形属性映射 附加的数据元素可以通过图层添加到图形中 4 2 创建绘图对象 ggplot 函数 有两个主要参数 数据和图形属性映射 这两个参数被设定为绘图的默认参数 只有在新添加的图层里
  • 南桥和北桥-主板芯片组发展史

    转自https baijiahao baidu com s id 1636848759349227507 wfr spider for pc 芯片组无疑是主板重要的组成部分 在我们今天能够看到的主板上芯片组只不过是一个散热片底下的小芯片而已
  • web前后台数据交互的四种方式(转)

    1 利用cookie对象 Cookie是服务器保存在客户端中的一小段数据信息 使用Cookie有一个前提 就是客户端浏览器允许使用Cookie并对此做出相应的设置 一般不赞成使用Cookie 1 后台代码 1 利用cookie对象 Cook
  • 解决 Processing of multipart/form-data request failed. /upload/A.tmp (No such file or directory) 问题

    使用spring boot 上传 刚开始一切正常 但过了一段时间上传文件的时候出现错误 ERROR org apache catalina core ContainerBase Tomcat localhost dispatcherServ
  • 日语(五十元音)_01

    一五十元音图 a i u e o ka ki ku ke ko sa si su se so ta ti tu te to na 二ni nu ne ha ma ya la wa nn 转载于 https www cnblogs com h
  • AD常用快捷键记录

    一 通用快捷键 1 放大缩小 常用方法 ctrl 鼠标滚轮 鼠标中键 移动鼠标 pgup pgup 2 切换不同的布线层 ctrl shift 鼠标滚轮 3 在SCH或者PCB 同一平面内左右翻转 ctrl X 4 在SCH或者PCB 同一
  • php递归数据转二维数组

    1 核心代码 把递归的数组转二维数组 function arrDepth data children 获取key列表 keyLists array keys data 获取数组长度 count count keyLists foreach
  • 一文了解巨量引擎的买量产品矩阵:巨量云图、巨量方舟、巨量广告、巨量纵横

    01 巨量引擎是什么 巨量引擎是抖音集团 原字节跳动 于2022年5月6日更名生效 旗下综合的数字化营销服务平台 致力于让不分体量 地域的企业及个体 都能通过数字化技术激发创造 驱动生意 实现商业的可持续增长 简言之 巨量引擎是字节系流量
  • No rule to make target

    No rule to make target 引言 解决方法 引言 报错 No rule to make target Thirdparty g2o lib libg2o so needed by lib libygz SLAM so 停止
  • 计算机命令指示符大全,常用CMD命令提示符大全:让你玩转Win7系统“运行命令”!...

    CMD命令提示符对于电脑老鸟十分方便的工具之一 通过简单的CMD命令打开各类程序 Win7系统的运行命令提示符通过输入相应的命令来完成相应的操作来提高工作效率 下面装机之家小编整理的有Win7系统的常用CMD命令提示符大全 希望对大家有所帮
  • Centos7部署Vue项目

    一 安装docker 1 安装依赖包 sudo yum install y yum utils device mapper persistent data lvm2 2 设置阿里云镜像源 sudo yum config manager ad