小皮面板 phpstudy(nginx模式)搭建vue 项目 使用 history模式配置详解

1.首先复习下普通nginx服务器配置vue 项目 history模式的方法

vue项目内部配置这里不再赘述,不知道的可以自行百度。
这里主要说下nginx配置:
nginx目录下找到conf文件夹下的conf下的nginx.conf文件并打开
在这里插入图片描述
修改server下location,如下图:
在这里插入图片描述
代码如下:

location / {
    root   html;
    index  index.html index.htm;
	try_files $uri $uri/ /index.html;
}

经过上面配置后就可以使用vue的history模式了,项目打包发布后
访问类似: xxx.com/product/detail/:id 这种多层嵌套路由就不会报
404了,下图1为未配置前案例,图2为配置后的
图1:
在这里插入图片描述
图2:
在这里插入图片描述

2.今天的重点来了,小皮面板的nginx服务器配置 vue history模式

再啰嗦两句,说下为什么要用小皮面板:
最早的时候我是发布php项目,刚开始的搭建环境的时候是真费劲,下载php安装包,配置系统环境变量,完了又是apache,mysql,对于一个新手来说真的是很复杂。
其次就是用普通nginx服务器的话,一个域名只能用一个不带端口号的地址,比如我的域名是 sanqizhouyi.com 这个站用了80端口,访问的时候可以直接 sanqizhouyi.com这样访问,在这个域名下再放另一个网站就得,监听别的端口比如81端口, 这样访问的时候就得 sanqizhouyi.com:81, 这样看着让人很不舒服,哪怕是配置二级域名,也会重定向到80那个端口
所以我选择了用小皮面板,我估计是他们做了额外的配置,只要你在网站列表配好了域名端口都是80,但你只需输入域名不用带端口就可以直接访问
如下图:
在这里插入图片描述

好菜不怕晚,正题来了,如何配置,
vue history项目打包发布到小皮后,多级路由是不能直接访问的,上面已经截图说过,
所以我想到了需要配置小皮面板内置的nginx,于是找到位置如下:
在这里插入图片描述
然后打开修改
在这里插入图片描述

但是修改后没有作用,多级路由 (xxxx.com/prod/list/detail)依然无法访问,
百度查了好久,也没有相关帖子,
折腾了好久最后放弃了,其它网站用小皮面板,然后这个history的单独启一个nginx来跑,
结果让我爆炸的问题来了,因为这个项目用了80端口,竟然把我小皮面板里的项目两个项目顶掉了
研究了好久后来终于找到了答案,功夫不负有心人啊
在这里插入图片描述

在这个文件里加上这一行
在这里插入图片描述

然后重启小皮的nginx,大功告成

### 配置和部署 Vue.js 项目PHPStudy #### 编辑配置文件 为了使 Vue.js 项目能够在 PHPStudy 环境下正常工作,需先调整项目的构建配置。这涉及到修改 `config/index.js` 文件中的设置来适应生产环境的需求[^1]。 ```javascript // config/index.js 示例部分代码 module.exports = { build: { assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: './', // 调整此参数以匹配服务器结构 ... } } ``` #### 构建项目 完成上述配置更改之后,通过执行命令 `npm run build` 来编译前端资源。这一过程会依据之前设定好的规则生成优化过的静态文件用于线上发布。 #### 上载文件到服务器 一旦打包完毕,在项目的根目录下将会有一个名为 `dist` 的新文件夹被创建出来,里面包含了所有经过压缩处理后的HTML/CSS/JavaScript等静态资产。此时只需把整个 `dist` 文件夹内的内容复制粘贴或者FTP传输等方式放置于Web服务能够访问的位置即可。 对于采用 Nginx 作为 Web Server 组件的 PHPStudy 版本而言,还需要进一步定制化Nginx的行为逻辑以便更好地支持单页应用(SPA),特别是当使用 HTML5 History API 实现路由功能的时候。具体做法是在 Nginx配置文件(`nginx.conf`)里的 server 块中加入特定指令: ```nginx location / { root html; index index.html index.htm; try_files $uri $uri/ /index.html; # 关键语句确保SPA正确加载 } ``` 这段配置的作用在于每当遇到未命中实际存在的URL请求时,都会返回首页 (`index.html`)前端框架接管后续页面跳转逻辑而不是由后端响应404错误[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨顺518

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值