V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
barbery
V2EX  ›  NGINX

新手求助,nginx启动不了,报错”nginx is already running?“ 我前几天都用得好好的,为什么今晚就用不了了???请看内容详细说明。。。

  •  
  •   barbery ·
    barbery · 2013-03-14 00:28:23 +08:00 · 5113 次点击
    这是一个创建于 4075 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先,我的系统是ubuntu的12.04桌面版,我装了lnmp一键包,和春哥的openresty。。。之前的做法是先把lnmp的nginx关了,然后再把openresty的nginx打开,就可以玩看春哥的教程学习openresty了。。。不知道怎么地,今晚就是启动不了,我确定我把lnmp的nginx关了,访问都访问不了了。。。而且还有一个奇怪的现象,以前,要是没把lnmp的关闭,打开openresty的话,报错是报
    nginx: [emerg] bind() to XX.XX.XX.XX:80 failed (98: Address already in use)
    nginx: [emerg] bind() to XX.XX.XX.XX:80 failed (98: Address already in use)
    nginx: [emerg] bind() to XX.XX.XX.XX:80 failed (98: Address already in use)
    nginx: [emerg] bind() to XX.XX.XX.XX:80 failed (98: Address already in use)

    这样的错误。。。。但是今晚就只是出现一行 ”nginx is already running?“ 跪求解答是什么原因。。。太奇怪了,前几天晚上都用得了啊。。。最后openresty的nginx check命令内容显示
    syntax is ok && test is sucessful

    症状就如上所述。。请问各位医生,还有救吗???
    14 条回复    1970-01-01 08:00:00 +08:00
    wjkk
        1
    wjkk  
       2013-03-14 09:18:05 +08:00
    请 执行下这个命令,输出什么
    ps -aux | grep nginx
    tarsier
        2
    tarsier  
       2013-03-14 09:27:05 +08:00
    80端口被占用了,lsof查一下看看究竟啥程序用了80端口
    glancesx
        3
    glancesx  
       2013-03-14 09:36:36 +08:00
    把openresty配置文件里的端口改成非80,简单满足你的需求了.
    angeloce
        4
    angeloce  
       2013-03-14 09:41:53 +08:00
    同@tarsier 说的, 80端口不是被其它进程就是僵尸占领了, netstat查下谁干的, 干掉它就行了.
    manoon
        5
    manoon  
       2013-03-14 12:50:24 +08:00 via Android
    pkill nginx first
    nginx -s start
    skyangel3
        6
    skyangel3  
       2013-03-14 12:53:10 +08:00
    我猜90%被apache占了, 好像现在apt-get install php5 会自动下载apache
    barbery
        7
    barbery  
    OP
       2013-03-14 16:26:03 +08:00
    @wjkk 出现下面内容
    root@ubuntu:/home/barbery# ps -aux | grep nginx
    Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
    root 2581 0.0 0.0 4388 832 pts/0 S+ 16:26 0:00 grep --color=auto nginx
    barbery
        8
    barbery  
    OP
       2013-03-14 16:27:17 +08:00
    @tarsier 大哥,我打lsof显示了十几个屏幕的内容,看我眼都花了,有什么方法可以再准确点么
    barbery
        9
    barbery  
    OP
       2013-03-14 16:34:42 +08:00
    @manoon
    @wjkk
    @tarsier
    root@ubuntu:/home/barbery# lsof -i :80
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    ubuntu-ge 2250 barbery 7u IPv4 12610 0t0 TCP ubuntu.local:59328->mistletoe.canonical.com:http (CLOSE_WAIT)

    这个怎么解决呀
    tarsier
        10
    tarsier  
       2013-03-14 16:44:06 +08:00
    @barbery sudo kill -9 2250 后 启动nginx试试
    emptyhua
        11
    emptyhua  
       2013-03-14 16:47:41 +08:00   ❤️ 1
    把openresty生成的nginx.pid删除之后试下
    barbery
        12
    barbery  
    OP
       2013-03-14 16:51:26 +08:00
    @tarsier 不行耶。。。还是提示“nginx is already running”, 不过现在打lsof -i:80 和 lsof -i:8080 都没有内容显示了。。。
    root@ubuntu:/home/barbery# ./openresty.server
    usage: ./openresty.server {check|start|term|stop|reload|restart|upgrade}
    root@ubuntu:/home/barbery# ./openresty.server start
    Nging is already running?
    root@ubuntu:/home/barbery# lsof -i :80
    root@ubuntu:/home/barbery#
    barbery
        13
    barbery  
    OP
       2013-03-14 16:54:41 +08:00
    @emptyhua 真的就可以了耶。。。。请问是什么原理啊,解释一下吧,下次遇到就不用做伸手党了。。。。
    tarsier
        14
    tarsier  
       2013-03-14 17:09:56 +08:00   ❤️ 1
    @barbery nginx本身会在 /var/run/下生成nginx.pid 文件记载 nginx的进程号,估计你这个nginx和openresty的两个混用了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3203 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:05 · PVG 20:05 · LAX 05:05 · JFK 08:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.