Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 崇高的SFTP&x2B;轨道&x2B;DigitalOcean——上传文件_Ruby On Rails_Ruby_Nginx_Sftp_Digital Ocean - Fatal编程技术网

Ruby on rails 崇高的SFTP&x2B;轨道&x2B;DigitalOcean——上传文件

Ruby on rails 崇高的SFTP&x2B;轨道&x2B;DigitalOcean——上传文件,ruby-on-rails,ruby,nginx,sftp,digital-ocean,Ruby On Rails,Ruby,Nginx,Sftp,Digital Ocean,最近有幸在@DigitalOcean上接了一个VPS。它是运行Rails+Nginx和Unicorn的Ubuntu14.04 我想与Sublime一起工作,就像我在本地一样,所以我安装了商业SFTP插件。我成功地获得了对VPS的远程访问,甚至在本地下载了rails文件夹。现在是困难的时候了,我需要一些帮助 如何保持本地文件夹和远程文件夹同步 通过Sublime右键单击文件夹提供了一些选项,如,sync Local->Remote,这似乎是我想要的,只是每次上传都以失败(权限被拒绝)告终 我应该进

最近有幸在@DigitalOcean上接了一个VPS。它是运行Rails+Nginx和Unicorn的Ubuntu14.04

我想与Sublime一起工作,就像我在本地一样,所以我安装了商业SFTP插件。我成功地获得了对VPS的远程访问,甚至在本地下载了rails文件夹。现在是困难的时候了,我需要一些帮助

如何保持本地文件夹和远程文件夹同步

通过Sublime右键单击文件夹提供了一些选项,如,
sync Local->Remote
,这似乎是我想要的,只是每次上传都以
失败(权限被拒绝)
告终


我应该进行本地到远程同步吗?还是我在这里跑偏了?如果我在base上,为什么我的权限会被拒绝?

可能,您用于SFTP连接的用户对您正在处理的文件夹具有读取权限,但不允许写入。 因此,您可以下载远程文件夹,但不再允许在其中写入(上载)

您可以通过运行
ls-ld/path/to/rails/
并阅读第一部分来检查这一点(例如,它可以是
drwxr--r--
)。如果需要

如果是权限问题,您可以用不同的方式来解决它,但是您应该考虑每个解决方案如何影响应用程序的安全性和/或功能性:

  • 您可以更改rails目录的所有者以匹配Sublime SFTP用户(请参见
    man chown
    ),并确保rails用户的所有者对其具有写访问权限(
    sudo chmod o+w/path/to/rails
  • 您可以使用其他用户进行Sublime SFTP访问(对rails文件夹具有写入权限的用户)
  • 您可以将Sublime SFTP用户添加到rails文件夹的组中(
    useradd-G{group name}username
    ),然后授予文件夹组写访问权(
    sudo chmod G+w/path/to/rails

通常使用版本控制系统(如git)来更新服务器上的文件,这是Unix世界中常用的保持目录同步的工具(也适用于Windows)。它可以很容易地通过SSH隧道运行,因此信息传输是加密的。rsync是否意味着要与Git一起工作?或者是一个还是另一个?