首页 > 系统相关 >CentOS环境 nginx配置vue项目

CentOS环境 nginx配置vue项目

时间:2023-09-21 13:33:26浏览次数:50  
标签:index vue CentOS nginx live html proxy

ps: 这里使用ruoyi-vue-plus项目举例,官网:https://plus-doc.dromara.org/

一、配置不带应用路径的vue项目

1、打包。首先将vue项目生产配置文件的的应用访问路径设为'/',然后命令行输入run run build:prod进行打包。

2、导入环境。将打包文件(dist)拖入CentOS中/usr/local/nginx/html目录下(不一定非得放着,这里举个栗子),可以将dist任意重命名,这里取名live_admin

3、配置。输入 vim /usr/local/nginx/conf/nginx.conf 修改nginx配置文件,添加server如下:

server {
     
        listen       8090;          # 这里监听8090端口,随便改
        server_name  localhost;

        location / {               # 项目不设置应用路径,这里设为"/"
            root   /usr/local/nginx/html/live_admin;  # 注意路径是精确到打包文件(如果这里精确到html,而location改为'/live_admin/'会导致静态文件报404) 
            try_files $uri $uri/ /index.html; # 防止刷新404问题
            index  index.html index.htm;
        }

        location /prod-api/ {              # 这里为了对应vue配置文件中的后台应用访问路径
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:8080/live/; # 这里后端实际访问地址多少就为多少
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

 

4. 重启nginx。配置完后重启nginx即可。

 

二、配置带应用路径的vue项目

1、vue配置文件如图,这里项目访问路径为/live_admin/

2、nginx配置如下:

server {
     
        listen       8090;          # 这里监听8090端口,随便改
        server_name  localhost;         

        location /live_admin/ {               # 这里跟vue应用路径保持一致
            alias   /usr/local/nginx/html/live_admin;  # 路径是精确到打包文件,最后的名称跟文件夹名保持一致(这里前缀用的是alias) 
            try_files $uri $uri/ /index.html last; # 防止刷新404问题,注意最后加了个last
            index  index.html index.htm;
        }

        location /prod-api/ {              # 这里为了对应vue配置文件中的后台应用访问路径
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:8080/live/; # 这里后端实际访问地址多少就为多少
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

3、这里额外讲一些nginx中root和alias的区别:https://www.cnblogs.com/benjieqiang/p/17535499.html

4、上边的nginx配置中如果用root,写法如下:

 location /live_admin/ {             # 这里跟vue应用路径保持一致
      root   /usr/local/nginx/html;      # 这里去掉打包文件夹名,因为root采用相对路径,并不会替换掉监听的/live_admin/路径 
      try_files $uri $uri/ /live_admin/index.html; # 注意这里要加上打包文件名
      index  index.html index.htm;
}

 

标签:index,vue,CentOS,nginx,live,html,proxy
From: https://www.cnblogs.com/liuyu666/p/17719753.html

相关文章

  • CentOS7共享文件夹设置
    故障现象:使用VMwareWorkstation10在CentOS7上安装VMwareTools工具,总是出错,更换成VMwareWorkstation12Pro共享成功。软件环境:主机:windows7、虚拟机:VMwareWorkstation12Pro、客户机: CentOS7一、设置共享文件夹1、在VMwareWorkstation12Pro虚拟......
  • nodejs+vue+element-ui安装
    1.nodejs安装https://www.runoob.com/nodejs/nodejs-install-setup.html2.vue安装nodejs安装以后,使用vue会报错:‘vue‘不是内部或外部命令,也不是可运行的程序解决办法:https://developer.aliyun.com/article/1093401配置vue的环境变量:查看到prefix的值以后,分别......
  • 若依 vue问题
    1.table列对布尔的处理<el-table-columnlabel="是否可见"align="center"prop="activityVisible":formatter="formatActivityVisible"/>formatActivityVisible:function(row,index){letres=''if(r......
  • vue+openlayers绘制线
    绘制线1<template>2<div></div>3</template>4<script>5importVectorLayerfrom'ol/layer/Vector.js';6importVectorSourcefrom'ol/source/Vector.js';7importFeaturefrom'ol/Feature&......
  • centos中自带java的路径配置
    centos自带的java,可以直接运行java,但不知道是怎么访问到的,所以就查了一下[root@aaa]#java-versionopenjdkversion"1.8.0_262"OpenJDKRuntimeEnvironment(build1.8.0_262-b10)OpenJDK64-BitServerVM(build25.262-b10,mixedmode)查看版本号,可以看到能访问ja......
  • nginx+uwsgi+django配置
    单点没有负载的nginx配置http{    server{        listen8900; location/{root/var/www/html;#指定网站根目录的路径 indexindex.html;#指定默认的索引文件为index.html}        location/api {        ......
  • 解析vue项目,scoped,ref属性,混入mixin,插件,Elementui
    0解析一下vue项目......
  • 部署Nginx网站服务实现访问状态统计以及访问控制功能
    部署Nginx网站服务实现访问状态统计以及访问控制功能 精选 原创小樱桃Cherry2018-06-2016:13:53博主文章分类:web服务及群集©著作权文章标签Nginx状态统计访问控制文章分类运维阅读数8135Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTT......
  • Nginx基于基本身份认证的文件服务
    Nginx基于基本身份认证的文件服务1、配置文件server{ listen80; server_namejili.kaikai.com; location/{root/opt/jili;autoindexon;charsetutf-8;auth_basic"authentication";auth_basic_us......
  • VuePress
    VuePress是一个由Vue驱动的静态网站生成器,由Vue.js的创始人尤雨溪设计和维护。VuePress结合了Vue的强大功能和webpack的预渲染能力,提供了一个快速、灵活和用户友好的解决方案来编写和发布静态网页。关于VuePress的名称,这是Vue和Press(出版,出版物)两个词的融合,传达了......