当前位置 : 首页 » 互动问答 » 正文

让nginx和node.js有一个共同的根文件夹

分类 : 互动问答 | 发布时间 : 2018-04-27 17:39:54 | 评论 : 1 | 浏览 : 42 | 喜欢 : 0

我建立了一个Ubuntu服务器(16.04),安装了nodejs和nginx,并且使它们一个一个地正常工作。端口3000上的nodejs和端口80上的nginx。

现在唯一的问题是ftp。我想让nodejs的js文件驻留在nginx www文件夹的子文件夹中,反之亦然。所以我可以一次上传所有文件。

我尝试在nginx / var / www / html / my_web_project中创建一个符号链接,导致nodejs / home / admin / www / my_web_project中的文件夹。 ..但我遇到了无法访问的问题。

管理员主文件夹被加密,可能会导致问题?

无论如何,我不介意在某个地方有一个文件夹,其中nginx和nodejs都希望在各自的子文件夹中找到他们的文件

这是一个很好的方法,有人可以给我一些建议,如何做到这一点?

回答(1)

  • 1楼
  • Linux有一个陡峭的学习曲线,但它实际上是值得的麻烦,因为我终于得到了一个工作解决方案。

    从安装nginx开始。即使你要在nodejs中进行大部分开发,你也需要一个工作的web服务器,它是nginx。

    我浏览了这些指南:

    https://serverfault.com/questions/433265/how-do-i-change-the-nginx-user

    https://nevyan.blogspot.se/2016 /01/install-setup-nginx-php-mysql-and-ftp.html

    该指南归结为以下命令:

     sudo apt-get install nginx
    sudo nano /etc/nginx/nginx.conf
    sudo nano / etc / nginx / sites-available / default
    

    编辑nginx.conf,指示nginx以用户'my_user'运行:

     user my_user;
    

    编辑默认配置,这里至关重要的一行:

     root / home / my_user / ftp / files;
    

    然后重新启动你的nginx服务器。

    应该是什么结果?简单;我可以通过ftp将文件上传到我的网络服务器。

    1. 我通过ftp或sftp连接'my_user',并且由于它是我的用户主文件夹,所以我可以覆盖这些文件。避免Linux文件安全性方面的大部分困难。 (我很难掌握所有这一切。)
    2. 由于nginx使用用户'my_user'运行,它也可以访问/ home / my_user / ftp / files文件夹! (我几乎疯了让这一步工作)
    3. nginx的根文件夹被设置为/ home / my_user / ftp / files,所以当我将新版本的index.html上传到该文件夹​​时,nginx立即使用它。

    Works. :)

    nodejs很容易安装,它似乎“只是开箱即用”。我基本上遵循这个指南: https://kyup.com/tutorials/install-run-node-js-application/

    我也想要websocket,这是最简单的部分:

     sudo npm install websocket
    

    希望它可以帮助某人,我很乐意完成这项工作。 :)

相关阅读: