- 在本地django运行环境下,执行如下代码:生成依赖文件
pip freeze > requirements.txt
这一步非常重要!!!后面云服务器上创建django项目时需要用到此文件安装项目依赖!!!
2. 购买阿里云服务器,配置centos7.6镜像,同时配置安全组,确保一些必要软件使用的端口被放行,如mysql,nginx等。
3. 配置宝塔面板,登录,下载左栏的推荐软件一键安装(重要!!!)
4. 在软件商店中下载python项目管理器(注意,安装ubuntu系统的没有办法下载,因为这个软件目前只支持centos)
(以上三步均可以在网上找到相应的教程,自行配置!!!)
5. 点击宝塔面板左侧的安全一栏,放行一些后面需要的端口(如创建站点时的端口,创建django项目时的端口)
6. 点击宝塔面板左侧的数据库一栏,创建数据库(略,自己在网上找教程,简单)
7. 点击宝塔面板左侧的网站一栏,开始创建站点
8.创建站点成功后,点击根目录文件,开始上传django项目文件
9. 修改settings.py文件
- 修改urls.py文件
- 点击宝塔面板首页一栏,鼠标滑到下方,点击python项目管理器,首先是安装python环境,选择你本地django项目运行时的python版本就好。安装好后,创建项目
- 创建好项目后,会在项目根目录下自动创建一个yyy_env的文件夹,在终端命令下,执行如下代码(最新版宝塔用这个命令,不要再用其他教程里老版的了,会报错!!!):
source /www/server/py/izone-1-1/md5命名的文件夹/lib/python3.8/venv/scripts/common/actiovate
之后会进入到虚拟环境中,然后执行:
python manage.py collectstatic
就会将静态文件创建到一个之前设置好的文件名,我这里时static
参照链接 宝塔部署Django(Navicat传数据)
13. 创建好项目后,点击宝塔面板的网站一栏,点击站点名称,点击配置文件,进行修改。
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9002; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT myproject.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /www/wwwroot/xxx.xxx.xxx.xxx/; #项目路径
}
location /static {
alias /www/wwwroot/xxx.xxx.xxx.xxx/static; #静态资源路径
}
- 修改完配置后,重启nginx(在首页最下方nginx软件点进去就可以重启)
最后就可以在浏览器里通过我们的公网ip+python项目创建时使用的端口号来访问我们的django项目啦:
xxx.xxx.xxx.xxx:9002/admin/
其他一些细节问题, 如:
- 部署时settings.py里设置debug=false,注意这里出现了一些问题,设置为debug=false后,无法找到静态资源了,所以需要在全局urls.py中设置下面这句:
urlpatterns = [
path('admin/', admin.site.urls),
path('simpleui_captcha/', include('simpleui_captcha.urls')),
path('api/', include(router.urls)),
path('exportexcel/', views.export_excel),
re_path(r'^ckeditor/', include('ckeditor_uploader.urls')),
re_path(r'^static/(?P.*)$', serve,{'document_root': settings.STATIC_ROOT}, name = 'static'), # 这句!!!
re_path(r'^media/(?P.*)$', serve,{"document_root": settings.MEDIA_ROOT}),
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
- 每次修改django里的代码后都要重启python项目管理器里的项目
- 每次修改网站的站点里的配置文件后,都要重启nginx
- 最后附上django官方文档,现在觉得官方文档最靠谱,最开始可以参考网上的教程来操作,但如果发现按照网上的教程一步一步来之后,仍然出错,而且这个错误按照网上教的方法怎么解决都解决不好时,一定要想到去找官方文档看下!!!
django关于项目部署时静态资源如何处理的官方文档



