开启 Nginx 时,有时会出现端口被占用的提示,这是因为该端口已经被其他进程占用了,需要找出占用端口的进程并终止该进程,或是修改 Nginx 的监听端口,下面详细讲解该问题的解决方法。
示例一:找出占用端口的进程并终止
- 在 Linux 上使用如下命令查看占用端口的进程信息:
shell
sudo netstat -tlnp | grep :80
其中,80 是 Nginx 默认的监听端口号,可以根据实际情况把 80 替换成其他端口号。
- 执行上述命令后,系统会返回占用该端口的进程的信息,如下所示:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1309/nginx: master
其中,1309 是占用端口的进程的 PID,可以通过下面的命令杀掉该进程:
shell
sudo kill -9 1309
执行上述命令后,占用该端口的进程就被终止了。
- 然后再次尝试启动 Nginx 服务即可。
示例二:修改 Nginx 的监听端口
如果无法杀掉占用端口的进程,或者该进程不是自己需要的服务,那么可以尝试修改 Nginx 的监听端口。
-
打开 Nginx 的配置文件,一般在
/etc/nginx/nginx.conf
或/usr/local/nginx/conf/nginx.conf
中,根据实际情况进行查找。 -
找到监听端口的配置项,一般是
listen
,修改端口号即可,示例代码如下:
nginx
server {
listen 8080;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
}
- 然后重新启动 Nginx 服务,即可成功启动服务并监听新的端口。
总之,出现“Address already in use”的提示时,要么找出占用该端口的进程并终止,要么修改 Nginx 的监听端口,二者皆可解决该问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:开启Nginx时端口被占用提示:Address already in use - Python技术站