• 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧
  • 欢迎加博主微信:jiang_shaobo

关于ubuntu无法启动nginx的问题

点滴 admin 6年前 (2014-04-29) 954次浏览 已收录 0个评论 扫描二维码

ubuntu13.04上使用apt方式安装nginx发现无法启动nginx,也不报错

查看nginx运行状态,显示未启动

搜索无果,想起了原来的遇到的一个问题,那时候是安装了nginx和lighthttpd服务器,导致nginx无法启动的情况,提示端口被占用,
于是拆卸lighthttpd,启动nginx正常,但是访问localhost提示无法访问,排查获知是在nginx中的配置文件是有这么一句:

listen [::]:80 default_server ipv6_only=on;

使用了ipv6的地址,把这句注释掉,可以访问。

试了一下,无法启动的问题解决了。

相关资料可以参考ubuntu中文官方:

http://wiki.ubuntu.org.cn/Nginx

另,遇到nginx重启成功,php-fpm重启成功,html可以访问,php502错误的问题,sudo netstat -anpo | grep “php-cgi” | wc -l显示0 ps -aux | grep 9000显示空

后解决办法是,考虑,既然html可以访问,说明nginx是可以访问的,php文件没有下载说明nginx配置也是没问题的,于是考虑是php-fpm
问题,查看sudo gedit
/etc/php5/fpm/php-fpm.conf发现最后有这么一句include=/etc/php5/fpm/pool.d/*.conf于是
查看对应配置ls /etc/php5/fpm/pool.d/只有一个www.conf就是它了,打开发现里面有这么一句listen =
/var/run/php5-fpm.sock,将这句注释掉添加listen = 127.0.0.1 9000保存重启nginx
php-fpm访问php就可以了。

刚刚又查了一下listen = /var/run/php5-fpm.sock,找到这么一个文章

ubuntu12.04中安装配置LNMP时 出现在php5-fpm的错误

2013/04/26 04:01:05 [crit] 6119#0: *4 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 159.53.110.141, server: 216.238.88.42, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "216.238.88.42:9090

nginx中是这样配置的

       location ~ .php$ {
                fastcgi_split_path_info ^(.+.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }

我个人的配置是想用sock的方法 毕竟sock方式对于高并发来说 还是比使用cgi方式好的

问题其实出现在 fastcgi_pass得配置上面。在ubuntu 12.10安装了php5-fpm之后。我们可以去

/etc/php5/fpm/pool.d/www.conf

里面找到这样一段代码:

listen = 127.0.0.1:9000 

在这上面代码的下面添加一行:

listen = /var/run/php5-fpm.sock

保存后启动php5-fpm

/etc/init.d/php5-fpm restart

这时就可以正常访问了

所以猜测,其实是由于nginx的配置和php-cgi监听设置不一样造成的,当然自己还是很多不懂,学习之路,无穷尽啊

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址