技术解析

新手求助 安装 nginx 后无法启动
0
2021-05-27 21:51:03
idczone
apt-get update && apt-get i抗投诉服务器nstall nginx php5-fpm
提示
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
80端口已经被占用了,话说是不是启动过了?用ps -ef|grep nginx看看是否有启动了

你好,提示root 8980 8868 0 21:20 pts/0 00:00:00 grep nginx

是不是装了其他服务

那就是没有启动过了,查查端口有没有被其他占用的,netstat命令,看看80端口被谁占住了,找到后如果确定不需要用就kill了吧。

一般是apache2占用了,试试 killall apache2

嗯,全部命令是apt-get update && apt-get install -y mysql-server nginx php5-fpm php5 php5-mysql php5-imap php5-sqlite php5-ldap php5-gd php5-imagick php5-curl php5-mcrypt php5-pspell php5-xmlrpc php5-xsl php5-cgi
这个服务之间有冲突吗?系统是debian7.0

是不是默认装了apache?

停掉或者卸载掉占用80端口的服务再安就行了应该

不能换个端口吗。。。

谢谢,killall apache2之后就能启动了~看来是装的软件有冲突啊……

执行 netstat -antp 看Local Address 这一列中是谁在占用80端口,然后看这一行中最后一列PID/Program name,看是哪个软件在使用80端口,并kill -9 PID值

aptitude purge apache

不是软件冲突。一般http服务都默认用80,而且很多*nix系统默认安装了apache,占用了80.

请问这个问题有什么一次性解决办法呢?

80 已经被其他进程占用了 netstat 看看什么进程

apt-get install php5-cli
把php5 改成 php5-cli 就不会安装apache了

sudo netstat -antp | grep 80

apt-get install php5 会默认安装apache,是啥原因啊?

某种依赖关系吧,没详追究
猜测是安装php5会包含某个apache组件,所以就依赖了apache
而php5-cli 只是命令行下的php环境,就不依赖apache了吧

很多VPS Debian系统会自带Apache,先全部卸载掉还原纯净系统再说

aptitude purge apache apache2
apt-get install nginx php-fpm

搜了一篇文章,你可以看看
http://wildlyinaccurate.com/installing-php-on-debian-without-apache
php+nginx的话,其实没必要装php5-cgi了吧 php5-fpm就足够了

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服