我正在尝试在数字海洋小滴上托管一个静态站点,并且在部署该站点时遇到了一些麻烦。我一直在跨互联网搜索解决方案,但收效甚微,同时我也在边学习边学习,因此,我们将不胜感激。如果使用不正确的术语以及提供过多或不相关的信息,我也深表歉意。我宁愿过分犯错,所以如果我做错了什么可能很容易发现。
目标:要将R,Rstudio,R服务器安装在数字海洋小滴上并连接到我购买的域。使用R blogdown包创建一个静态网站,并将其部署在Droplet上。
完成的步骤:
1)在droplet上安装了linux,在droplet上安装了R,R studio,R服务器和shinny。一切正常。
2)添加了nameservers
以指向我的数字海洋IP的域。工作正常:www.mysite.com:8787
进入我的Rstudio登录名,www.mysite.com:3838
进入shinny server
。我想将8787
和3838
更改为更具描述性的内容,但是我确定以后可以解决。
3)在blogdown中生成了一个静态测试网站。位置为/home/user/website/public
,其中website
是R blogdown项目,public
是包含index.html
文件和从blogdown网站生成的所有文件的文件夹。这在R studio中有效,并且文件已创建。
4)尝试通过更改默认文件/etc/nginx/sites-enabled/default
来重定向到/home/user/website/public
目录来更改nginx设置。
这就是我被困住的地方。我遵循了一些指南,www.mysite.com
所做的任何事情总是显示nginx欢迎页面。
我尝试过的事情:
chmod - R 0755 /home/user/website/public
我相信这会为保存我的静态站点的文件夹提供递归权限。
编辑默认文件:
sudo nano /etc/nginx/sites-enabled/default
我已将根目录行更改为我的静态站点目录,将server_name行更改为www.mysite.com(也尝试使用实际IP地址)
root /home/user/website/public
server_name www.mysite.com mysite.com
根据一些指南,我还尝试制作一个服务器块并将其链接。
创建了一个新文件mysite.com,其中包含以下内容:
server {
listen 80;
listen [::]:80;
root /home/user/website/public;
index index.html index.htm index.nginx-debian.html;
server_name mysite.com www.mysite.com;
location / {
try_files $uri $uri/ =404;
}
}
然后链接它:
sudo ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/
我尝试了来自不同指南的这些方法的各种组合,并且结果相同-位于www.mysite.com的nginx欢迎页面。
只需卸载并重新安装nginx即可开始使用。
我在方法论上是否正确?有没有人成功地在数字海洋上托管了一个R Blogdown网站,并且可以分享一些建议或发现我需要做的事情?