Я тестирую реализацию перемещаемых профилей в моей инфраструктуре Windows и тестирую на чистой рабочей станции. После добавления рабочей станции в домен и входа в систему я получаю сообщение об ошибке, что перемещаемый профиль не может быть загружен, и используется временный локальный профиль. Средство просмотра событий показывает идентификатор ошибки 1058, а в деталях в разделе EventData значение DCName - это мой вторичный (резервный) контроллер домена, а не основной. Я вошел в систему резервного копирования контроллера домена и успешно подтвердил, что основной контроллер домена действительно установлен в качестве хозяина операций. Все остальные функции AD на рабочей станции работают нормально - DNS, репликация файлов и т. Д. - даже путь к gpt.ini, связанный с общими сведениями в средстве просмотра событий, при щелчке открывается прямо до файла GPT.ini без проблем.
Кроме того, RODC, настроенный в удаленном месте, теряет весь доступ к PDC, когда я выключаю резервный контроллер домена. Опять же, хозяином операций является PDC. DNS на всех рабочих станциях и RODC указывает на PDC.
Похоже, я упускаю из виду кое-что относительно простое. Какие-нибудь мысли?
РЕДАКТИРОВАТЬ: Перечитав это, возможно, уместно отметить, что PDC действительно онлайн и доступен. cd / var / www / node node app.js Я использую Ubuntu и уже ...
Обычно я обращаюсь к своему приложению через Putty и делаю именно то, что показано ниже, чтобы мой скрипт Node работал в фоновом режиме:
screen
cd /var/www/node
node app.js
Я использую Ubuntu и я уже создали AMI моего экземпляра, и теперь я намерен использовать его в моей конфигурации Auto Scaling, однако, как мне сделать эту конфигурацию Lauch в сценарии оболочки, чтобы при создании нового экземпляра он автоматически запускал мое приложение Node ?
Единственное, что я знаю, это то, что мне следует начать с #! / Bin / bash
, но я не знаю, как правильно написать остальное.
#!/bin/bash
screen
cd /var/www/node
node app.js
Если я использую его как я показал выше, он будет работать нормально или мне нужно сделать как-то иначе? Если да, то можете ли вы привести пример?
Обновление : После комментария Майкла Хэмптона я нашел этот ответ . Итак, мой код выглядит так:
[Unit]
Description=To run Node
[Service]
ExecStart=/var/www/node/app.js
Restart=always
User=nobody
Group=nobody
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/node
[Install]
WantedBy=multi-user.target
Но при попытке запустить службу с systemctl start app
он запрашивает аутентификацию:
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to start 'app.service'.
Authenticating as: Ubuntu (ubuntu)
Password:
Однако у этого пользователя нет пароля (не то, что я знаю of), поэтому я просто нажимаю Enter, и он выдает следующую ошибку:
==== AUTHENTICATION FAILED ===
Failed to start app.service: Access denied
Итак, я пробовал с sudo systemctl start app
, но вроде ничего не произошло. Как я могу запустить эту службу?
После запуска sudo systemctl daemon-reload
, sudo systemctl start app
и sudo systemctl status app
, возвращается:
● app.service - App
Loaded: loaded (/etc/systemd/system/app.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Dec 10 01:15:47 ip-172-31-12-252 systemd[1]: Stopped App.
Dec 10 01:15:47 ip-172-31-12-252 systemd[1]: Started App.
Dec 10 01:15:47 ip-172-31-12-252 systemd[7645]: app.service: Failed at step GROUP spawning /var/www/node/app.js: No such process
Dec 10 01:15:47 ip-172-31-12-252 systemd[1]: app.service: Main process exited, code=exited, status=216/GROUP
Dec 10 01:15:47 ip-172-31-12-252 systemd[1]: app.service: Unit entered failed state.
Dec 10 01:15:47 ip-172-31-12-252 systemd[1]: app.service: Failed with result 'exit-code'.
Dec 10 01:15:47 ip-172-31-12-252 systemd[1]: app.service: Service hold-off time over, scheduling restart.
Dec 10 01:15:47 ip-172-31-12-252 systemd[1]: Stopped App.
Dec 10 01:15:47 ip-172-31-12-252 systemd[1]: app.service: Start request repeated too quickly.
Dec 10 01:15:47 ip-172-31-12-252 systemd[1]: Failed to start App.
Обновление² :
Я изменил app.service
на (удалил директиву Group
и добавил узел
для запуска):
[Unit]
Description=App
[Service]
ExecStart=/usr/bin/nodejs /var/www/node/app.js
Restart=always
User=nobody
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/node
[Install]
WantedBy=multi-user.target
Но когда я получаю доступ к статусу , показано:
● app.service - App
Loaded: loaded (/etc/systemd/system/app.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Dec 10 02:13:37 ip-172-31-12-252 nodejs[8084]: at Function.Module.runMain (module.js:442:10)
Dec 10 02:13:37 ip-172-31-12-252 nodejs[8084]: at startup (node.js:136:18)
Dec 10 02:13:37 ip-172-31-12-252 nodejs[8084]: at node.js:966:3
Dec 10 02:13:37 ip-172-31-12-252 systemd[1]: app.service: Main process exited, code=exited, status=1/FAILURE
Dec 10 02:13:37 ip-172-31-12-252 systemd[1]: app.service: Unit entered failed state.
Dec 10 02:13:37 ip-172-31-12-252 systemd[1]: app.service: Failed with result 'exit-code'.
Dec 10 02:13:37 ip-172-31-12-252 systemd[1]: app.service: Service hold-off time over, scheduling restart.
Dec 10 02:13:37 ip-172-31-12-252 systemd[1]: Stopped App.
Dec 10 02:13:37 ip-172-31-12-252 systemd[1]: app.service: Start request repeated too quickly.
Dec 10 02:13:37 ip-172-31-12-252 systemd[1]: Failed to start App.
Ваш скрипт будет блокировать выполнение, поэтому ОЧЕНЬ НЕЗАМЕДЛИТЕЛЬНО вы должны отправить процесс NodeJS в фоновом режиме:
#!/bin/bash
cd /var/www/node
nohup node app.js >/dev/null 2>&1 &
Это будет работать при условии, что ваш AMI уже установил nohup
и node
.
Бэш-скрипты только заставят вас зайти на этот путь. Если вы серьезно относитесь к развертыванию в AWS, я бы посоветовал изучить либо cloud-init
, либо Chef/OpsWorks.