全球主机交流论坛

标题: debian7.0 开机脚本问题 [打印本页]

作者: yohu    时间: 2013-5-11 14:16
标题: debian7.0 开机脚本问题
本帖最后由 yohu 于 2013-5-11 16:50 编辑

前两天装了个debian7.0,编译了openresty,今天重启发现nginx开机不启动,手动添加了nginx启动也不行,求助。

/etc/init.d/nginx start 手动启动没问题。
  1. insserv -f -d nginx
复制代码
  1. update-rc.d -f nginx defaults
复制代码
这两个我分别都试过,/etc/rc*.d里面文件也都有了,还是启动不了,甚至我在/etc/rc.local里面直接添加/etc/init.d/nginx start都无法启动,好奇怪,从来没遇到过。

/etc/init.d/nginx
  1. #! /bin/sh
  2. # chkconfig: 2345 55 25
  3. # Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
  4. # run 'update-rc.d -f nginx defaults', or use the appropriate command on your
  5. # distro. For CentOS/Redhat run: 'chkconfig --add nginx'

  6. ### BEGIN INIT INFO
  7. # Provides:          nginx
  8. # Required-Start:    $all
  9. # Required-Stop:     $all
  10. # Default-Start:     2 3 4 5
  11. # Default-Stop:      0 1 6
  12. # Short-Description: starts the nginx web server
  13. # Description:       starts nginx using start-stop-daemon
  14. ### END INIT INFO

  15. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  16. DESC="nginx daemon"
  17. NAME=nginx
  18. DAEMON=/usr/local/openresty/nginx/sbin/$NAME
  19. CONFIGFILE=/usr/local/openresty/nginx/conf/$NAME.conf
  20. PIDFILE=/var/run/$NAME.pid
  21. SCRIPTNAME=/etc/init.d/$NAME

  22. set -e
  23. [ -x "$DAEMON" ] || exit 0

  24. do_start() {
  25. $DAEMON -c $CONFIGFILE || echo -n "nginx already running"
  26. }

  27. do_stop() {
  28. kill -INT `cat $PIDFILE` || echo -n "nginx not running"
  29. }

  30. do_reload() {
  31. kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
  32. }

  33. case "$1" in
  34. start)
  35. echo -n "Starting $DESC: $NAME"
  36. do_start
  37. echo "."
  38. ;;
  39. stop)
  40. echo -n "Stopping $DESC: $NAME"
  41. do_stop
  42. echo "."
  43. ;;
  44. reload|graceful)
  45. echo -n "Reloading $DESC configuration..."
  46. do_reload
  47. echo "."
  48. ;;
  49. restart)
  50. echo -n "Restarting $DESC: $NAME"
  51. do_stop
  52. do_start
  53. echo "."
  54. ;;
  55. *)
  56. echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
  57. exit 3
  58. ;;
  59. esac

  60. exit 0
复制代码

作者: nop    时间: 2013-5-11 14:19
这不是蛋疼么
作者: ybs885    时间: 2013-5-11 14:20
buhui
作者: baby    时间: 2013-5-11 14:21
只玩centos
作者: 大胡子    时间: 2013-5-11 14:22
  1. update-rc.d -f nginx remove
  2. chmod +x /etc/init.d/nginx
  3. update-rc.d -f nginx defaults
复制代码
首先nginx是否配置正常
作者: yohu    时间: 2013-5-11 14:24
大胡子 发表于 2013-5-11 14:22
首先nginx是否配置正常

配置正常,检查过了,手动可以正常启动,也重新删除启动重新添加过了,还是一样。
作者: sdgl212    时间: 2013-5-11 14:25
不懂帮顶
作者: 恋爱ing    时间: 2013-5-11 14:30

不懂帮顶
作者: yohu    时间: 2013-5-11 14:36
谢谢楼上几位帮顶,继续求助ing,好崩溃,早知道继续6.0了。
作者: 大胡子    时间: 2013-5-11 14:39
  1. /etc/rc.local
复制代码
exit 0 前添加
/etc/init.d/nginx start 试试

上次不知道谁也起不来 怎么给他解决的忘记了。
作者: yohu    时间: 2013-5-11 14:43
大胡子 发表于 2013-5-11 14:39
exit 0 前添加
/etc/init.d/nginx start 试试

试过了,继续 ing……

作者: 大胡子    时间: 2013-5-11 14:54
要找出病根。。。或许你的nginx配置有问题 debian7 和 6 这个配置没有发生改变

反复stop start nginx 试试到底有没报错 不要-s
作者: yohu    时间: 2013-5-11 15:09
大胡子 发表于 2013-5-11 14:54
要找出病根。。。或许你的nginx配置有问题 debian7 和 6 这个配置没有发生改变

反复stop start nginx 试试 ...
  1. root@s10:~# /etc/init.d/nginx stop
  2. Stopping nginx daemon: nginx.
  3. root@s10:~# /etc/init.d/nginx start
  4. Starting nginx daemon: nginxSetting option from ("on")
  5. Setting option from ("FileCachePath", "/var/ngx_pagespeed_cache")
  6. .
  7. root@s10:~# /etc/init.d/nginx restart
  8. Restarting nginx daemon: nginxSetting option from ("on")
  9. Setting option from ("FileCachePath", "/var/ngx_pagespeed_cache")
  10. root@s10:~# /usr/local/openresty/nginx/sbin/nginx -t
  11. Setting option from ("on")
  12. Setting option from ("FileCachePath", "/var/ngx_pagespeed_cache")
  13. nginx: the configuration file /usr/local/openresty/nginx/conf/nginx.conf syntax is ok
  14. nginx: configuration file /usr/local/openresty/nginx/conf/nginx.conf test is successful
复制代码
谢谢大胡子的耐心回复,我又测试了好几遍,目测配置没问题,该有的目录都有,该有的文件也都有,手动启动也都正常,太奇怪了,难道要逼我重装6.0?
作者: ICFOX    时间: 2013-5-11 15:14
我的7.0的没问题啊
作者: 大胡子    时间: 2013-5-11 15:18
/etc/rc0.d/
下看看有没nginx
mysql之类能启动不
作者: yohu    时间: 2013-5-11 15:22
大胡子 发表于 2013-5-11 15:18
/etc/rc0.d/
下看看有没nginx
mysql之类能启动不

都有,最奇怪的是mysql可以正常启动,唯独是这个nginx不行。如果说配置问题,按理说手动启动的时候也应该失败,但是不是。。。。
作者: 大胡子    时间: 2013-5-11 15:23
什么构架 能不能看他启动过程 暂时想不出来问题
作者: yohu    时间: 2013-5-11 16:03
大胡子 发表于 2013-5-11 15:23
什么构架 能不能看他启动过程  暂时想不出来问题

kvm,启动信息过得太快,我截图截了N次,才看到有nginx的字样,但是没有看到启动ok的字样,因为nginx过了直接就到登录界面了,太崩溃了……系统日志里面查了也没找到相关的信息。
有启动的动作,但是没有启动起来,看来要怀疑脚本问题了。
作者: yohu    时间: 2013-5-11 16:52
终于解决了,原来还是配置的问题,listen ***.***.***.***:80,结果估计是网络还没起来监听失败,改成listen 80问题解决了。好奇怪,第一次遇到这么奇特的问题。谢谢楼上各位。
作者: lazyzhu    时间: 2013-5-11 16:58
本帖最后由 lazyzhu 于 2013-5-11 17:03 编辑
# Should-Start:      network-manager


作者: yohu    时间: 2013-5-11 17:10
lazyzhu 发表于 2013-5-11 16:58

Required-Start:    $local_fs $remote_fs $network
或者
Required-Start:    $all

貌似都没用,废品dhcp太慢了,改成静态IP以后没问题了,可以listen ***.***.***.***:80了。
作者: paopao00    时间: 2013-5-11 17:24
写到/var/run 的pid 都会失败的,建议你更改地址
看这个
http://blog.firetry.com/htmls/395.html

原因是因为debian7 把、/var/run  挂载到内存上了。除非说你启动的时候root 启动主进程。解决方法是更换个目录
作者: yohu    时间: 2013-5-11 17:28
paopao00 发表于 2013-5-11 17:24
写到/var/run 的pid 都会失败的,建议你更改地址
看这个
http://blog.firetry.com/htmls/395.html

我主要问题是网络没起来,呵呵,设成静态IP问题都解决了,pid可不改。




欢迎光临 全球主机交流论坛 (https://sunk.eu.org/) Powered by Discuz! X3.4