#r #shiny #shiny-server
Вопрос:
Я относительно новичок в конфигурации блестящего сервера. В настоящее время на shiny-сервере на корневом уровне размещается множество приложений, доступ к которым можно получить через http://<ip.address>:3838/appName
. Я хочу, чтобы учетная запись службы могла развертывать приложения и проверять файлы журналов. Учетная запись службы не имеет и не будет иметь доступа к sudo. Учетная запись службы уже добавлена в группу под названием shinyUsers
. При этом я все еще хочу убедиться, что приложения, развернутые в настоящее время на корневом уровне, все еще работают и на них не повлияет изменение конфигурации.
Читая руководство по настройке, я получаю некоторые сведения о развертывании персональных приложений. Однако я не уверен в том, что добавить для ключей site_dir
и. log_dir
Ниже приведен мой файл конфигурации на данный момент:
run_as :HOME_USER: shiny;
# Define a server that listens on port 3838
server {
listen 3838;
location / {
user_dirs;
# Only allow members of the 'shinyUsers' group to host personal applications.
members_of shinyUsers;
# When a user visits the base URL rather than a particular application,
# an index of the applications available in this directory will be shown.
directory_index off;
}
# Define a location at the base URL
location / {
# Host the directory of Shiny Apps stored in this directory
site_dir /srv/shiny-server;
# Log all Shiny output to files in this directory
log_dir /var/log/shiny-server;
# When a user visits the base URL rather than a particular application,
# an index of the applications available in this directory will be shown.
directory_index on;
}
}
Комментарии:
1. Вы пытались добавить
location /path/to/app
раздел с путем к приложению, внутри которого вы установили путь к логу?2. привет. Я еще ничего не установил для log_dir, так как понятия не имею, что в него вставить. Я не могу понять, что мне нужно сделать. Приложение будет находиться в
/home/ShinyApps/appName/
каталоге учетной записи службы3. Поместите его в каталог, из которого может считываться учетная запись службы.
Ответ №1:
Приведенная ниже конфигурация по-прежнему будет поддерживать работу корневых приложений (albiet с небольшим изменением URL-адреса), а также обеспечит доступ к учетной записи службы для размещения приложений. Приложения должны находиться в каталоге с именем ShinyApps
, и файлы журнала автоматически войдут в log
подкаталог внутри ShinyApps
приложения корневого уровня будут находиться по URL:, http://myserver/appName
а приложения учетной записи службы-по URL: http://myserver/serviceAccountName/appName
. Это связано с тем, что я включил имя сервера myserver
в приведенную ниже конфигурацию (используйте здесь фактическое имя сервера).
run_as :HOME_USER: shiny;
# Define a server that listens on port 80
server {
listen 80;
#replace ip address with name of the server
server_name: myserver;
location / {
user_dirs;
# Only allow members of the 'shinyUsers' group to host personal applications.
# I use a centos7 server so sudo usermod -a -G shinyUsers username
members_of shinyUsers;
}
# Define a location at the base URL
location / {
# Host the directory of Shiny Apps stored in this directory
site_dir /srv/shiny-server;
# Log all Shiny output to files in this directory
log_dir /var/log/shiny-server;
# When a user visits the base URL rather than a particular application,
# an index of the applications available in this directory will be shown.
directory_index off;
}
}