【发布时间】:2014-11-15 04:40:37
【问题描述】:
我正在尝试从通过 cron 作业调用的脚本重新启动 NGINX 服务(它在 root 用户在命令行中运行时起作用)-我不确定这是否相关,但有问题的 cron 作业也是通过脚本创建的。我尝试了多个命令,但我正在使用的当前命令如下:
sudo /etc/init.d/nginx 重启
对此的任何帮助都会很棒!
更新
以下是 cron 运行并尝试重新加载 nginx 服务的脚本
#!/bin/bash
NGINX_CONFIG='/etc/nginx/sites-available'
NGINX_SITES_ENABLED='/etc/nginx/sites-enabled'
WEB_DIR='/var/www/vhosts/demos'
EMAIL=$1
DOMAIN=$2
SITE_DIR=$3
echo $DOMAIN
echo $SITE_DIR
# Remove the nginx configurtations
rm -Rf $NGINX_CONFIG/$DOMAIN.conf
rm -Rf $NGINX_SITES_ENABLED/$DOMAIN.conf
# Remove the access log
rm -Rf /var/log/nginx/$SITE_DIR.access.log
# Remove unicorn socket log
rm -Rf /tmp/unicorn.$SITE_DIR.sock
# Remove the DB
sudo psql -U postgres -c "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = '_$SITE_DIR' AND pid <> pg_backend_pid();"
dropdb -U postgres $SITE_DIR
# Remove the sites application from the server
rm -Rf $WEB_DIR/$SITE_DIR/
if [[ ! "$(/sbin/service nginx status)" =~ "start/running" ]]
then
/etc/init.d/nginx reload
fi
【问题讨论】:
-
为什么需要定期重启nginx?
-
我需要或定期启动 nginx,因为我正在尝试自动删除站点,进而自动删除服务器块。
-
不需要重启nginx重新加载配置。只需
reload。 -
好的,谢谢你的提示!我已经改变了这个,但它仍然有同样的问题。