简介:很多朋友都问过如何将Django项目部署到服务器的相关问题,本文中的CTO头条将为您提供详细的解答,供您参考。
让我们来看看!
前几天,老师让我在校园网上放一个Django项目(网页爬虫),但我想要先部署我自己的服务器。
之前正好从DigitalOcean买了一台服务器,用来运行ss脚本,正常情况下,服务器留着就没啥用了,所以就用它来测试一下。
话不多说,第一步是通过WinSCP软件将Django文件传输到服务器。
在服务器上安装Django需要的环境以及我需要的第三方Python库。
完成上述所有步骤后,还需要完成一个步骤。
这是我经历过的一个陷阱。
打开Django文件目录中的settings.py并将ALLOWED_HOSTS=[]更改为ALLOWED_HOSTS=["*"]。
打开服务器中manage.py所在目录,输入命令:
python3manage.pyrunserver0.0.0.0:8000
然后回车,在浏览器中输入:服务器IP地址:8000,就完成了!
注意:
1.python3不是特定的,根据你的Django项目需要的环境来确定。
2.8000是端口号,可以修改。
如果想让Django项目继续运行并且关闭终端后仍然运行,需要运行以下命令,nohupcommand,命令是上面提到的python3manage.pyrunserver0.0.0.0:8000。
Django+vue前后端分离项目搭建
后端使用Drf使用uwsgi+nginx
进入server项目文件目录中,我的django项目放在“/usr/myProjects/”目录下。
在manage.py同目录下创建uwsgi.ini文件,配置如下:
测试效果命令:
如果访问:xxx.xxx.xxx.xx:8000成功,则uwsgi.ini配置成功
我的nginx.conf位置设置为“/etc/nginx/nginx.conf”
配置文件如下:
1第一行
它就是给nginx添加权限,vue部署后使用历史路由时,地址后面的‘#’号会被去掉,如果打包部署后不添加权限,就会出现bug。
2.如图配置所示,有两台服务器,分别部署了前端和后端服务。
请记住,两台服务器使用相同的服务器并具有不同的侦听端口。
3.使用Vue时需要注意的是反向代理地址:
以及下一个端口问题
4服务器需要注意location中的uwsgi_pass下一个端口number必须与uwsgi.ini中配置的一致,否则不会被监控
5.如果遇到跨域配置,需要到网上查找配置。
我没找到。
这可能是因为我在Django设置中配置了跨域配置。
6.django-suit后台管理风格被破坏了,需要更改,但是火力还是可以正常访问的。
我开始在后台监听8008端口,vueFrontend监听80端口,所以前端视图看起来不错。
然而,问题出现了。
在后端API可以正常访问的同时,Vue的本地开发环境也可以正常运行,文本、图片资源也可以正常显示,但是,Vue前端打包部署上线后,文本信息显示正常,图片信息缺少8008端口,导致无法显示。
为了方便,我选择前端监听8008端口,后端监听80端口。
使用后,显示正常。
原因不清楚///////等我有时间再告诉你。
8别问我为什么前端和后端分离了,还用在同一台服务器上?不好,而且只用于测试,没必要
9本文只适合入门
关于Django后端admin缺少修改(参考:django中文网:)
进入环境中的项目目录需要采集css样式,在终端输入命令:
接下来你会发现静态文件中包含了css文件现在打开网站并且样式将照常显示
uWSGI将在同一目录中生成xxx通过xxx.ini启动后。
.pid文件,里面只有一行,是uWSGI主进程的进程号。
关于uwsgi,进入同一个会话目录
Lesson
如果无法获取环境,则指定“Environment”
另外:记得重启uwsgi并重启Nginx,如果还不行,先关闭监听端口,然后重启
强行删除端口:fuser-k80/。
tcp
netstat-aptn命令行,查看所有开放的端口号
netstat-ntlp|grep80查看特定端口是否正在使用
ps-ef|grepuwsgi检查是否有uwsgi端口
Django部署-uwsgi+Nginx(很详细)环境:
python3.6
centos7
Django1.11
我用Django写了一个小网站,但是只能在本地运行!这是如何运作的?听说可以部署在云服务器上,方便其他人访问!
从哪里开始呢?让我们从姜戈开始吧!老规矩,按照步骤来:
这里不讲Django项目的实现过程假设你已经写好了一个Django项目,并且可以在本地127.0.0.1:8000运行。
。
嗯,给大家一个参考,项目可能是这样的:
也就是项目目录下的settings.py文件,主要强调几个地方:
①关闭DEBUG模式:
②修改ALLOWED_HOSTS:
③配置静态文件存储路径:
修改配置后执行:
无说到这个。
。
。
在自己的云服务器上安装这两个工具
安装uwsgi后,最好验证一下认证方式:
创建test.py文件:
开始uwsgiserver:
如果能正常启动,不报错,那就应该没问题了,如果不确定的话,在终端验证一下:
在uws中的gi中创建如下配置.ini:
找到nginx配置文件夹nginxcentos7配置文件所在/etc/nginx下有一个通用配置文件nginx.conf,该路径下还有两个文件夹./conf.d、./default.d,我们将nginx.conf复制到co文件夹nf.d中,命名为nginx.conf(或项目名.conf)并进行如下修改(根据中文注释进行相应配置):
进入uwsgi.ini文件夹并执行:
在终端中执行:
成分参考:
刘江博客
园区博客
知乎问答
匿名博客
Django教程自强学院
Django文档
empty_xlBlog
结论:以上是CTO首席笔记整理的关于如何使用的相关答案的总结Django项目到服务器希望对你有帮助!如果您的问题解决了,请分享给更多关心这个问题的朋友~