Mac的Apache基本操作
Mac OS X 系统自带了Apache服务器,我们偶尔用来在本地测试一下简单的Web应用还是可以玩的。
打开终端的命令
# 开启apache:
sudo apachectl start
# 重启apache:
sudo apachectl restart
# 关闭apache:
sudo apachectl stop
过程中注意事项
1、使用sudo权限,回车会提示输入电脑密码。
2、开启Apache服务器后,在浏览器地址栏输入127.0.0.1,成功可正常出现【It Works】的默认提示页面。
3、网站的根目录:打开Finder(访达),使用command+shift+g
组合键,可以快速前往路径/Library/WebServer/Documents
,这就是Mac下Apache服务器的文件路径。把我们的web项目代码放到这个路径下,就可以在浏览器打开了~
4、使用完毕需要关闭Apache服务器,不然会一直消耗电脑内存。
Vue Router的history模式及Apache配置
1、路由配置中设置mode为history模式(默认hash)
当你使用 history 模式时,一定是需要后台服务配置支持的!需要后台服务配置支持!需要后台服务配置!
const router = new VueRouter({
mode: 'history',
routes: [...]
})
2、Apache重写配置
在Vue项目/public
目录下新建.htaccess
文件,这样生产打包后生产的/dist
目录下就会包含该文件(或者直接新建到Web站点根目录) 按照Vue Router官方文档中配置例子,编辑并保存文件内容
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
3、修改Apache默认配置
让Apache支持
mod_rewrite
及允许override
3-1 打开Apache目录,并备份原始的备份文件
cd /etc/apache2
sudo cp httpd.conf httpd.conf.bak
#// 如果后续发生错误,使用以下命令恢复备份文件
sudo cp httpd.conf.bak httpd.conf
3-2 修改配置文件httpd.conf
- sudo模式下使用vi或者vim编辑
httpd.conf
配置文件
#// 使用vi编辑,sudo命令使用admin权限
sudo vi httpd.conf
- 启用rewrite
# vi命令行模式下,查找rewrite_module位置(回车键开始查找,N键查找下一处)
/rewrite_module
# 输入i 进入vi编辑模式(ESC键退出编辑模式,回到命令行模式)
i
# 启动rewrite_module,将行首的#号去掉即可
- 设置允许Override
# 在对应发布的文件夹允许Override
# vi命令行模式下,输入/AllowOverride查找AllowOverride位置
/AllowOverride
# 输入i进入到编辑模式,将AllowOverride None修改为AllowOverride All
i
AllowOverride All
# ESC退出编辑模式,输入:wq!强制退出并保存
:wq!
3-3 重启Apache服务
任何的修改之后,都不要忘记重启
sudo apachectl restart
4、打包Vue部署应用
4-1 修改vue.config.js
文件
在devServer下面增加historyAPIFallBack的重写配置
是否可省略待考究,请根据自身实际情况调整
publicPath: process.env.NODE_ENV === 'production'? '/': '/',
devServer: {
// history模式下的url会请求到服务器端,但是服务器端并没有这一个资源文件,就会返回404,所以需要配置这一项
historyApiFallback: {
rewrites: [{
from: /^\*/g,
to: '/index.html' //与publicPath有关(HTMLplugin生成的html默认为index.html)
}]
}
}
4-2 生产打包并部署到站点根目录
npm run build
通过build命令打包,然后把/dist
目录下文件部署到站点根目录/Library/WebServer/Documents
4-3 测试使用 这个时候,通过http://127.0.0.1/
可以愉快地访问站点了,并且在你的站点里面玩命的刷刷刷新,如果刷新之后挂了,多半还是Apache的服务配置没成功。
写在最后
Vue Router-HTML5 History模式:https://router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%E4%BE%8B%E5%AD%90
mac自带本地web服务器的使用:https://blog.csdn.net/xie123_csdn/article/details/76131208
新手如何在Mac配置Apache服务器:https://blog.csdn.net/wanxue0804/article/details/79434058
vue-router apache 配置history mac环境:https://blog.csdn.net/HangMine/article/details/83027677