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默认端口)

posted @   weakxy  阅读(182)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示