1.nginx配置中间文件需要设置代理转发,因为node应用一般部署在其他端口上,nginx监听80/443端口,然后代理转发到node应用上。
location / { proxy_pass http://127.0.0.1:3000/; }
2.如果要把node应用部署在子目录,相关路径需要添加前缀,比如nextjs中可以设置 Base Path,这样的话node项目文件直接放在一级目录下即可,系统会自动在前面添加前缀,达到二级目录的效果,其他的框架可能也有类似的功能。如果框架没有设置目录前缀的功能,也可以直接把node应用文件放在网站下面的二级文件夹中再运行。
3.如果需要url重写(伪静态),可以在nginx中进行配置,注意目标路径是否正确。且页面内各个链接跳转时应使用重写后的格式。
rewrite ^/article/index_(.*)$ /article/tag/$1 last;
4.如果使用的是nextjs框架,前端、接口都在一个项目中的话,注意接口url要加前缀(如果部署在子目录中)。
nextjs框架自带url重写功能,不过感觉没有nginx的好用,如果感觉兴趣的话可以研究一下。