解决django服务器重启端口被占用的问题
当我们在进行django开发时,经常需要启动一个本地的服务器来进行调试和测试。但是有时候,在关闭服务器后再次启动服务器时,我们会发现端口被占用了,这时候我们就需要解决这个问题。
- 查找占用端口的进程并杀死它
我们可以使用命令行来查找正在占用端口的进程,并关闭它。具体操作步骤如下:
① 打开命令提示符或终端,运行以下命令:
netstat -ano | findstr 0.0.0.0:端口号
其中,端口号就是需要关闭的端口。比如端口号为8000,那么就运行以下命令:
netstat -ano | findstr 0.0.0.0:8000
② 命令行会输出一些信息,其中包括占用端口的进程号。比如:
TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING 6666
其中,6666就是占用端口的进程号。
③ 运行以下命令杀死进程:
taskkill /pid 进程号 /f
其中,进程号就是上一步得到的占用端口的进程号。比如:
taskkill /pid 6666 /f
- 更换端口号
如果以上方法无法解决问题,我们可以尝试更换端口号。具体操作步骤如下:
① 打开django项目的settings.py文件,在其中找到以下代码:
# 开发环境的端口号
INTERNAL_IPS = ['127.0.0.1']
ALLOWED_HOSTS = []
# 开发环境使用,实际生产环境请显式指定
DEBUG = True
# 开发环境可以允许所有 host 访问
CORS_ALLOW_ALL_ORIGINS = True
# Django debug toolbar
if DEBUG:
INSTALLED_APPS += [
'debug_toolbar',
]
其中,INTERNAL_IPS和ALLOWED_HOSTS两个参数代表了django服务器的允许访问的IP地址和主机名,DEBUG参数代表了是否开启debug模式,在debug模式下,django会自动重载代码,因此常用于调试。在此参数下面我们需要添加以下代码:
# 更改默认端口号
PORT_NUM = "8888"
其中,PORT_NUM是我们要更换的端口号。这里我们将端口号更改为了8888。
② 保存settings.py文件,重新启动服务器即可。比如,我们使用以下命令启动服务器:
python manage.py runserver 8888
这样,我们就可以在8888端口访问我们的django项目了。
示例:
假设我们正在运行一个django项目,在端口号为8000的端口上启动了服务器。现在我们关闭了服务器,并尝试重新启动服务器。运行以下命令:
netstat -ano | findstr 0.0.0.0:8000
命令行输出:
TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING 6666
我们得知占用此端口的进程号为6666。运行以下命令杀死进程:
taskkill /pid 6666 /f
现在端口已经被释放了。如果这种办法不能解决问题,我们可以尝试更换端口号。打开settings.py文件,将端口号更改为8888,保存文件,再次启动服务器即可:
python manage.py runserver 8888
这样,我们就可以在8888端口上访问我们的django项目了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决django服务器重启端口被占用的问题 - Python技术站