【发布时间】:2022-02-07 18:21:02
【问题描述】:
在我的生产服务器上,我成功地使用 nginx 来托管一个静态站点并作为节点应用程序的反向代理。目前node应用在/home/myUserName/apps,站点在/var/www/siteDomain.com/html。
在我的本地/开发机器上,html 目录位于我的应用程序目录 (../apps/html) 中。我想在生产环境中使用相同的目录结构,这样我就可以克隆我的 git 存储库,然后运行 npm install 以防 package.json 发生变化(node_modules 在 .gitignore 中)。
在 /var/www/siteDomain.com 中使用 git 和 npm 时出现权限问题,因为所有者是 root 并且 siteDomain.com 是 drwxr-xr-x。我可以使用 sudo git 克隆我的 repo,但是所有子目录(包括 html)都归 root 所有,这会导致问题(必须使用 sudo npm,我读过它会产生更多问题,无法在 ftp 中操作文件......) .
我可以这样做的另一种方法是将 repo 克隆到 /home/myUserName/apps,其中所有内容都归我的非 root 用户所有,然后将 nginx 配置文件更改为指向 /home/myUserName/apps/html 作为静态站点的根.
在使用 git 和 npm 时,构建目录以使我不会遇到权限问题的最佳方法是什么?将 html 根目录指向 /var/www 之外的内容是否异常或将来会出现问题?
附:我的本地机器是 Windows,我对 linux(在生产服务器上运行)不是很有经验
【问题讨论】:
标签: node.js git nginx directory-structure