Запустите экземпляр AWS с Ubuntu в качестве операционной системы и группой безопасности, которая имеет входящее соединение для HTTPS через порт 443, в дополнение к соединению SSH через порт 22. У вашего экземпляра также должен быть общедоступный DNS.
После того, как машина запущена и работает, войдите в нее с помощью SSH.
Установите сервер RStudio, используя предоставленные инструкции здесь , выполнив:
sudo apt-get update
sudo apt-get install r-base
sudo apt-get install gdebi-core
wget https://download2.rstudio.org/rstudio-server-1.1.463-amd64.deb
sudo gdebi rstudio-server-1.1.463-amd64.deb
Примечание. Точное имя файла .deb
изменится с более новыми версиями сервера RStudio.
Мы будем следовать приведенным инструкциям здесь и здесь для настройки веб-сервера nginx на обратный прокси-сервер RStudio для веб-браузера и использования SSL. Для установки nginx выполните:
sudo apt-get install nginx
Создание SSL-сертификатов:
sudo mkdir /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
Последняя команда создает два файла: файл ключа и файл сертификата SSL.
Создайте файл в /etc/nginx/conf.d/rstudio.conf
и отредактируйте его (примечание: вам нужно отредактировать с помощью sudo nano /etc/nginx/conf.d/rstudio.conf
или аналогичного), добавив:
server {
listen 80;
listen [::]:80;
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
server_name ec2-11-22-333-444.us-west-2.compute.amazonaws.com;
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;
}
}
Если вы замените поле server_name
общедоступным IP-адресом DNS вашего экземпляра AWS.
Кроме того, вам нужно отредактировать файл /etc/nginx/nginx.conf
, чтобы добавить следующие строки в блок http
:
http {
# All you other settings up here...
server_names_hash_bucket_size 128;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
}
Установка от server_names_hash_bucket_size
до 128 важна по причинам, объясненным здесь
Наконец, отредактируйте файл конфигурации /etc/rstudio/rserver.conf
, добавив строку:
www-address=127.0.0.1
Далее создайте учетные записи для ваших пользователей. Например:
sudo adduser arokem
Теперь вы сможете перезапустить nginx и rstudio-сервер:
sudo rstudio-server restart
sudo systemctl restart nginx
И направьте свой браузер на https://ec2-11-22-333-444.us-west-2.compute.amazonaws.com
. Вы, вероятно, получите предупреждение от своего браузера, что он не распознает ваш SSL-сертификат. Можно игнорировать это предупреждение (в данном случае) и перейти к окну входа на сервер RStudio. Используйте логин пользователя, который вы только что создали, для доступа к RStudio.