Я использую 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;
Все еще та же проблема
Решение также объясняется в этой теме стека
Мне пришлось заменить домен в proxy_pass
в конфигурации nginx на IP:
proxy_pass https://<IP-OF-YOUR-SERVER>:8443;
Роман:
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.