django项目部署到阿里云ECS服务器的ubuntu系统
准备:服务器(ubuntu20.04)、域名、Xshell、Xftp
一直在windows环境下本地测试django项目,所以不牵涉部署问题,如今想测试一下部署,就试了一下
1. 用Xshell连接阿里云的ECS服务器上,再用Xftp将文件项目打包上传到服务器上再解压(我解压到虚拟环境的根目录下);
2. 在服务器上先部署虚拟环境Virtualenv,在里面安装pip所需模块(软件包);
3. 我的django使用了mysql数据库和redis缓存,所以得安装;
4. 切换到项目根目录下,python3 manage.py runserver 0.0.0.0:8000 ,在其他服务器上输入公网IP:8000测试
其中有三个点需注意:
(1)检查阿里云ECS服务器的安全组是否开放8000端口
(2)检查ubuntu的防火墙是否开放8000端口(也可以用netstat -aux监控),关掉防火墙是不行的,必须开启端口(也可以用ufw和iptables开端口)
(3)注意在执行manage.py 后需加0.0.0.0:8000 因为默认开启的是127.0.0.1:8000只能本地访问
5. 下载uwsgi和nginx,并且配置
(1)nginx 我的nginx.conf在/usr/local/nginx/conf/nginx.conf里面,vi修改配置
http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name www.weakxy.top; // 域名 charset utf-8; location /static { alias /home/weakxy/test/firstdjango/media; //项目存放静态文件地址 } location / { // 对应url中的路径(最低级的) uwsgi_pass 127.0.0.1:8000; include /usr/local/nginx/conf/uwsgi_params; // uwsgi_params配置,用于配置uwsgi root html; index index.html index.htm; } }
(2)uwsgi 创建 项目名.ini文件 放置位置无要求(我放在nginx根目录下了)
[uwsgi] chdir =/home/weakxy/test/firstdjango //项目根目录 module =firstdjango.wsgi // 项目里与项目同名的文件夹下的wsgi文件 home =/home/weakxy/test // 虚拟环境地址 master =true processes =4 // 进程数 socket =127.0.0.1:8000 // 与之前配置的nginx里面的需一致 chmod-socket =666 vacuum =true
(3)有的教程说要配置之前nginx.conf里面有个文件uwsgi_params需要配置,我的是配好的就不变了
6. cd到刚创建的ini文件下,uwsgi --ini 项目名.ini 看是否成功允许
如果不是出现连接失败的话就是域名没有备案(我目前就没有备案,就无法访问,会有提示)
别忘了最后运行的是host/域名:80(nginx默认端口)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本