心血来潮尝试使用Nginx启动web服务器,记录学习过程,方便后续使用。
大家都知道,vue和react框架都支持hash和history两种路由模式,在使用Nginx配置代理时,发现hash模式,不需要怎么处理就能实现,而history模式需要对直接访问和刷新操作进行处理,否则报404错误。
1、首先下载Nginx,下载完成后解压到指定目录,我是放到了D:\nginx,解压完成后,运行cmd,使用命令进行操作,不要直接双击nginx.exe,一定要在dos窗口启动,不要直接双击nginx.exe,这样会导致修改配置后重启、停止nginx无效,需要手动关闭任务管理器内的所有nginx进程,再启动才可以。 Nginx的解压目录:
// 强制结束所有Nginx进程
taskkill /f /t /im nginx.exe
2、使用命令行到达nginx的解压缩后的目录
cd D:\nginx\nginx-1.22.0
3、执行命令,启动Nginx
start nginx
4、启动后,访问localhost:80检验是否成功
5、创建vue项目或者react项目,build之后dist目录下的内容放到html目录下,Nginx配置不用改动,就能访问到页面
6、在项目中添加路由,使用hash模式,刷新页面没有问题,使用history模式就会报404错误
此时需要修改Nginx配置,添加try_files $uri $uri/ /index.html;
修改Nginx配置后要重启Nginx:nginx -s reload
7、在项目开发是一般都给路由配置basename,publicpath等,在使用Nginx代理的时候也要是进行相对的修改。
Nginx配置改动:在html的同级下创建一个webapp目录,这样就可以在使用同一个Nginx代理不同的项目
以上就是本次学习Nginx代理前端项目的实战总结,如有错误请指正。