【vue部署】Apache部署vue项目

Apache部署vue项目

  • [Apache 下载安装(windows)](#Apache 下载安装(windows))
      • [1. 下载](#1. 下载)
      • [2. 安装](#2. 安装)
      • [3. 启动服务](#3. 启动服务)
  • [vue 部署配置](#vue 部署配置)
      • [1. 基础配置](#1. 基础配置)
      • [2. 解决页面刷新问题](#2. 解决页面刷新问题)

Apache 下载安装(windows)

1. 下载

2. 安装

修改配置文件 D:/Apache24/conf/httpd.conf

  • 修改服务器根目录为自己的Apache安装目录,如: Define SRVROOT "D:\Apache24"
  • (非必须)为避免端口冲突,可以将默认的80端口修改为其他端口。如: Listen 8080

3. 启动服务

  1. 管理员身份打开命令提示符,在D:/Apache24/bin/文件夹下执行httpd -k install -n <服务器名> (服务器名自定义)

  2. Win+R打开运行程序, 输入services.msc,查看服务,就会找到上一步执行的<服务器名>,选中服务,即可启动服务

  3. 在浏览器输入http://localhost:8080即可访问页面,看到"It works!".
    8080为安装时配置的 Listen 端口

vue 部署配置

1. 基础配置

  • vue打包好的dist复制到D:/Apache24,并修改dist文件名为vuep
    更新vue dist包时,不需要重新启动Apache服务

  • 修改配置文件 D:/Apache24/conf/httpd.conf

    • 增加以下配置

      Listen 8090
      <VirtualHost *:8090>
          DocumentRoot "${SRVROOT}/vuep"
      	ErrorLog "logs/local.com-error.log"
          CustomLog "logs/local.com-access.log" common
      
          <Directory "${SRVROOT}/vuep">
      		Options Indexes FollowSymLinks
              AllowOverride All
      		Require all granted
      		DirectoryIndex index.html
          </Directory>
      </VirtualHost>
      

    此时启动apache服务,第一次可以正常访问, 但刷新页面后,显示Not Found.The requested URL was not found on this server.

    • vue router 配置
      router配置了base属性时,打包时配置为base: '/vuep'

2. 解决页面刷新问题

  1. 启用mod_rewrite模块,删除#

    LoadModule rewrite_module modules/mod_rewrite.so

  2. 添加配置

    	# 使路由重定向到index.html
    	<IfModule mod_rewrite.c>
    		RewriteEngine On
    		RewriteBase /
    		RewriteRule ^index\.html$ - [L]
    		RewriteCond %{REQUEST_FILENAME} !-f
    		RewriteCond %{REQUEST_FILENAME} !-d
    		RewriteRule . /index.html [L]
    	</IfModule>
    

    方案1. 将配置添加到<Directory>

    方案2. 在vuep下新建.htaccess文件,并将配置写入

tip: 当Apache服务启动失败时,可以先查看端口是否被占.

以上就是Apache部署vue 项目的所有步骤.

相关推荐
圈圈的熊38 分钟前
vue2 和 vue3的区别
前端·javascript·vue.js
Kika写代码41 分钟前
【基于轻量型架构的WEB开发】课程 作业4 AOP
java·前端·架构
前端与小赵4 小时前
关于 AJAX 与 Promise
前端·ajax·okhttp·promise
啊·贤4 小时前
展开运算符 (...):这是 JavaScript 中的一个语法,用于将数组或对象展开到另一个数组或对象中。
前端·javascript·vue.js
硬汉嵌入式4 小时前
《安富莱嵌入式周报》第345期:开源蓝牙游戏手柄,USB3.0 HUB带电压电流测量,LCR电桥前端模拟,开源微型赛车,RF信号扫描仪,开源无线电收发器
前端·游戏·开源
NiNg_1_2345 小时前
前端 Flex 布局语法详解
前端·css·html
吉吉安5 小时前
前端实现选项多选效果(三层结构)
前端·vue.js·html5
卓越软件开发5 小时前
基于SSM+VUE守护萌宠宠物网站JAVA|VUE|Springboot计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解
java·vue.js·宠物
青少儿编程课堂7 小时前
2024年3月电子学会Python等级考试试卷(四级)真题,包含答案
前端·javascript·python·电子学会·电子学会2024年3月真题·电子学会真题
始终奔跑在路上7 小时前
软件测试—HTML
前端·功能测试·html·集成测试·软件工程