使用rsync发布HTML数据到服务器端

编写HTML网页,想立即让别人看到,需要发布到服务器端。

以下介绍一个简易的方案。

首先,在这个服务器上要开个专门的帐号,比如zhangsan

然后,需要配置比如Nginx服务器,指向到服务器上的某个目录(比如指定用户的目录/home/zhangsan/site),并对应到某个指定的域名上,比如http://www.mysite.com。这里不详细说了,可查阅Nginx手册配置。

下面,要用rsync将本地指定目录的文件同步到该服务器上的指定目录,比如/home/zhangsan/site。如果使用Linux或者Mac,都是自带rsync命令的。我使用的Mac下的。

现在,比如我要将本地/data/www同步到服务器的/home/zhangsan/site/www目录下:

1
rsync -a /data/www zhangsan@www.mysite.com:/home/zhangsan/site

这样有个问题,每次同步的时候,都需要输入密码。

可以通过下面的办法,在服务器保存客户端本地用户的key,这样以后就不必输入密码,通过key直接访问了。

这个方法,让SSH登录不再需要密码,因为rsync是基于SSH的,所以也有效。

安装ssh-copy-id:

1
curl -L https://raw.githubusercontent.com/beautifulcode/ssh-copy-id-for-OSX/master/install.sh | sh

运行过程需要输入管理员密码。

安装后,就可以运行:

1
ssh-copy-id -i ~/.ssh/id_rsa.pub zhangsan@www.mysite.com

如果没有生成过id_rsa,需要生成一个。

这步做好了,就可以免密码rsync了。