Apache部署Vue项目
一.安装配置apache一般来讲做内网服务器项目应该整一个linux服务器,不过作者的公司配置的都是win服务器,所以以下内容皆以win为准。首先我们需要登录apache的官网下载安装一个win官方版本。下载地址http://httpd.apache.org/如图所示,下载一个最新的realease版本,点击download。然后点击下载一个微软windows专用版。...
一.安装配置apache
一般来讲做内网服务器项目应该整一个linux服务器,不过作者的公司配置的都是win服务器,所以以下内容皆以win为准。
首先我们需要登录apache的官网下载安装一个win官方版本。
如图所示,下载一个最新的realease版本,点击download。
然后点击下载一个微软windows专用版。
接下来在D盘(或者别的地方)建一个apache文件夹,把下载好的压缩包解压进去。
打开bin文件夹,找到httpd.exe。
复制这段路径,添加进系统环境变量path。
打开conf/httpd.conf文件,修改这一段。
注意这里是把根目录指定到apache24这个文件夹,如果你的安装目录不一样,这里也要跟着改。
修改监听端口号。默认80端口,如果80被占用了就改成别的,否则不用改。
修改文件路径。因为vue项目生成的html文件需要指定一个路径存放,这里对存放路径进行配置。
(默认是htdocs,不过也可以改成别的)
最后,把Apache安装为Windows Service,以管理员的方式打开CMD.输入:
httpd -k install -n Apache
按回车键。安装成功后查看服务管理器,会出现Apache服务,设置成开机自启动。
重启电脑,然后运行apache/bin目录下的apachemonitor.EXE。
点击 start,这样你的apache服务就启动好了。
二.打包部署vue项目
这一步的重点在于vue项目的配置。
一般而言vue项目都是基于现成的cli脚手架搭建,那么需要用到的配置文件,一个是router路由文件夹下的index.js,一个是config文件夹下的index.js。
对于本文而言,因为作者使用的是vue-element-admin这个开源项目,所以没有config文件夹,而是直接用vue.config.js文件进行配置。
1.配置config
配置publicPath目录。这个目录对应的是apache里的页面目录下的子目录,即apache/htdocs/+ publicPath。vue项目生成的index.html文件到时候需要放到这个目录下。
2.配置router/index.js
同理,base的配置和1中的publicPath配置一致。
然后mode有两种模式,一种是hash,一种是history,这里选择使用history。
3.生成项目文件
在控制台中进行生产
输入命令: npm run build
有些项目根据开发环境和测试环境不同,可能会在build后加参数,参考项目的readme文件即可。
之后打开工程文件夹,在/dist文件夹下发现build好的文件。
拷贝所有文件到apache里配置的文件夹目录下。
到这里已经可以使用了。
在浏览器中输入地址 localhost/vue/index.html 进入主页。
但是需要注意的是,如果不进行路由配置,页面跳转之后会找不到路由,报404错误。
所以还需要进行最后一步。
4.配置apache
在apache 的vue
目录下新建.htaccess
文件, 需要修改RewriteRule
为/vue/index.html
, 否则刷新页面服务端会直接报404错误。
.htaccess文件内容
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /vue/index.html [L]
</IfModule>
然后打开conf目录下的httpd.conf,找到
#LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule sed_module modules/mod_sed.so
在默认的代码段中,loadmodule mod_rewrite.so 是被注释掉的,这里需要将注释解开以开放rewrite功能。
最后,修改directory配置
#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
AllowOverride all
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./vue/index.html [L]
</Directory>
到此,apache的配置全部结束。
三.测试项目
在前文中apache配置完成后,可以进入cmd进行测试
输入: httpd -t,检查配置文件是否正确书写。如果报错,需要根据报的错进行修改。
检查通过之后,在apacheMonitor中重启apache服务。
登录localhost/vue/index.html,加载出项目。
更多推荐
所有评论(0)