Запустить nginx после перезагрузки автоматически с помощью crontab

Я использую crontab для запуска некоторых служб после перезагрузки.

Вот мой текущий crontab :

@reboot root /etc/init.d/nginx reload
@reboot /usr/local/bin/forever start /var/www/rtc/index.js

Он работает для навсегда , но nginx никогда не запускается.

Я также пробовал:

@reboot /etc/init.d/nginx reload
@reboot sudo service nginx reload

Есть идеи?

Мой конф nginx выглядит так:

server {
        listen 443 ssl;
        server_name www.example.com;

        ssl_certificate /var/wwwssl/example.pem;
        ssl_certificate_key /var/wwwssl/example.key.pem;

        location / {
                proxy_pass https://www.example.com:8443;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

РЕДАКТИРОВАТЬ:

Это решение также не сработало

. Сделайте это с помощью системной вставки:

[Service]
Restart=always

, которую вы поместите в файл /etc/systemd/system/nginx.service.d/override.conf (создание каталога, если он не существует). Вы также можете использовать systemctl edit nginx для создания файла.

РЕДАКТИРОВАТЬ:

Служба включена.

# systemctl is-enabled nginx
enabled

Я до сих пор не понимаю, почему nginx не запускается.

После каждого выключения -r (я использую это для проверки перезагрузки) я проверяю с помощью sudo service --status-all и nginx не работает.

РЕДАКТИРОВАТЬ

Системные журналы показывают некоторые ошибки для nginx после перезагрузки:

nginx: [emerg] host not found in upstream "www.example.com" in /etc/nginx/sites-enabled/default:100
nginx: configuration file /etc/nginx/nginx.conf test failed
nginx.service: Control process exited, code=exited, status=1/FAILURE
nginx.service: Failed with result 'exit-code'.
Failed to start A high performance web server and a reverse proxy server.

РЕДАКТИРОВАТЬ:

Попытка добавить распознаватель:

resolver IP valid=30s;

Все еще та же проблема

0
задан 16 June 2020 в 17:42

2 ответа

Решение также объясняется в этой теме стека

Мне пришлось заменить домен в proxy_pass в конфигурации nginx на IP:

proxy_pass https://<IP-OF-YOUR-SERVER>:8443;
1
ответ дан 23 June 2020 в 11:45

Роман:

sudo systemctl enable nginx

Можете ли вы попробовать с помощью этой команды установить ссылку на init как SysV?

update-rc.d nginx defaults

Зачем устанавливать значения по умолчанию для nginx?

When  run  with  the  defaults  option,  update-rc.d  makes links named
       /etc/rcrunlevel.d/[SK]NNname that point to the script /etc/init.d/name,
       using  runlevel  and  dependency information from the init.d script LSB
       comment header.
1
ответ дан 19 June 2020 в 21:24

Другие вопросы по тегам:

Похожие вопросы: