在RStudio_AMI上更改文档根目录

时间:2017-04-05 21:51:53

标签: r ubuntu amazon-ec2 rstudio ami

它位于亚马逊服务器上,所以我检查了以下帖子: Changing Apache document root on AWS EC2 does not workHow to edit httpd.conf file in AMAZON EC2 或者一般来说:How do I change the root directory of an apache server? 那么所提供的信息到目前为止对我有帮助。 我在etc / apache2文件夹中找到的唯一文件如下: enter image description here

编辑:配置文件的内容是: “Alias / javascript / usr / share / javascript /

    选项FollowSymLinks MultiViews “

我两个月前在他的网站上问过:http://www.louisaslett.com/RStudio_AMI/,但没有得到答案。

我的问题:我如何更改RStudio AMI服务器上的文档根目录,以便我可以将rstudio登录页面的目录从根目录更改为 - 例如domain.com/login并具有登录页面+根(domain.com)上的其他文件夹。

感谢您的帮助!

编辑: 在FrédéricHenri的回答之后编辑:

这是我的rstudio.conf文件的内容。

location / {
  proxy_pass http://localhost:8787;
  proxy_redirect http://localhost:8787/ $scheme://$host/;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $connection_upgrade;
  proxy_read_timeout 20d;
  access_log /var/log/nginx/rstudio-access.log;
  error_log  /var/log/nginx/rstudio-error.log;
}

假设我的index.html文件位于/home/idx/index.html目录中,那么我将如何更改文件。 以下对我没有用处:

  proxy_pass http://localhost/home/idx;
  proxy_redirect http://localhost/home/idx/ $scheme://$host/;

或者:

  proxy_pass /home/idx;
  proxy_redirect /home/idx/ $scheme://$host/;

我将在哪里配置重定向我的rstudio登录。 谢谢!

1 个答案:

答案 0 :(得分:2)

如果您使用的是apache2 / httpd网络服务器,那么您是正确的并且正确地看着正确的位置;但对于RStudio AMI,它使用nginx web server,因此所有配置都存储在/etc/nginx

您可以查看Configure nginx with multiple locations with different root folders on subdomain,了解如何使用配置文件

在您当前的配置中,主要定义了3个位置:

  • http://<web_server_ip>/

用于此案例的conf文件是/etc/nginx/RStudioAMI/rstudio.conf它处理所有请求并转发到rstudio正在运行的http://localhost:8787

  • http://<web_server_ip>/julia

用于此案例的配置文件是/etc/nginx/RStudioAMI/julia.conf它处理所有请求并转发到julia正在运行的http://localhost:8000

  • http://<web_server_ip>/shiny

用于此案例的配置文件为/etc/nginx/RStudioAMI/shiny.conf它处理所有请求并转发到正在运行闪亮的http://localhost:3838

例如,您可以拥有主要位置(只是/指向特定文件夹)并更改rstudio.conf以处理http://<web_server_ip>/rstudio

修改

我将配置将我的rstudio登录名重定向到

如果您希望可以从http://<server>/rtudio访问rstudio登录页面(例如),则需要更改`/ etc / nginx / RStudioAMI / rstudio.conf``

location /rstudio/ {
  proxy_pass http://localhost:8787/;
  proxy_redirect http://localhost:8787/ $scheme://$host/;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $connection_upgrade;
  proxy_read_timeout 20d;
  access_log /var/log/nginx/rstudio-access.log;
  error_log  /var/log/nginx/rstudio-error.log;
}

如果您想指向主http://<server>/index.html指向/home/idx/index.html,则需要在/etc/nginx/sites-enabled/RStudioAMI.conf中进行更改并定位指向您的根元素的主要位置

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

server {
  listen 80 default_server;
  index index.html;

  location = / {
      root /var/www/html;
  }

  include /etc/nginx/RStudioAMI/*.conf;
}

注意:无论何时对nginx conf文件进行更改,都需要重新启动nginx。 用:/etc/init.d/nginx restart