君哥的一个老朋友今天购买了阿里云服务器,帮他安装宝塔后,发现nginx无法启动,提示已有其他服务占用80端口,错误提示如下:
警告消息:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
解决方法:
第一步:查看什么服务占用了80端口,用SSH连接服务器,输入以下命令:lsof -i :80。
说明:lsof对应于“list open files”,用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。losf加上参数 -i ,表示查看指定端口的占用情况,命令运行后结果如下。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apache2 1751 root 3u IPv4 3305008056 0t0 TCP *:http (LISTEN)
apache2 1754 www-data 3u IPv4 3305008056 0t0 TCP *:http (LISTEN)
apache2 6073 www-data 3u IPv4 3305008056 0t0 TCP *:http (LISTEN)
第二步:强制终止进程apache2,使用pkill -9 apache2命令强制终止。
说明:pkill是批量终止进程,加上 -9 表示强制性结束接受信号的进程,例如上面的命令就是强制结束apache2的进程。
第三步:强制结束进程后,点击宝塔面板左侧导航【软件管理】,找到nginx软件,点击【设置】,进入nginx管理界面,重新启动nginx服务便可成功。
聚云网旨在收集阿里云、腾讯云、百度云等云计算产品的行业资讯,最新优惠信息,提供代金券、优惠券领取,让用户以最低的价格购买服务器,享受优质的产品服务。聚云网提供免费服务器购买咨询,科技前沿资讯,互联网行业动态,软件开发及服务器运维教程,竭全力为用户提供优质服务。
如果您有任何疑问,请在页面右侧点击联系聚云网客服,第一时间为您服务。如果您有教程需求,可以在我们的社区中留言。如果您有经验要分享,我们欢迎您的到来。文章中有什么问题,也欢迎留言指正,我们共同创建一个服务平台。
本站所有内容,如有版权、侵权等问题,请及时联系本站做删除。发布者:聚云网,转载请注明出处:https://www.juyun.top