要解决AWS AMI镜像或实例重启导致nginx崩溃的问题,可以采取以下步骤:
sudo nano /etc/nginx/nginx.conf
在http块中添加以下代码:
http {
...
...
...
# 添加以下代码
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
保存并退出配置文件。
sudo nano /etc/init.d/nginx-startup.sh
将以下代码添加到脚本中:
#!/bin/bash
### BEGIN INIT INFO
# Provides: nginx-startup
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start nginx at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
case "$1" in
start)
/usr/sbin/nginx
;;
stop)
killall nginx
;;
restart)
/usr/sbin/nginx -s reload
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
保存并退出脚本。
sudo chmod +x /etc/init.d/nginx-startup.sh
sudo update-rc.d nginx-startup.sh defaults
sudo reboot
这样,当实例重启时,nginx将自动启动并运行,避免了因重启导致的崩溃。