如何将本地的Django项目部署到阿里云服务器上?
场景:在本地的pycharm上已经写好了一个Django架构的网站,现在要把它放到公网上
大致记录一下流程,有问题欢迎讨论!
一、阿里云服务器
1.选择云服务器ECS,新用户可以免费使用三个月
2.购买时选择预装宝塔面板
3.买好后,进入云服务器控制台
4.重置实例密码

5.远程连接至服务器,这里用阿里自带的workbench,不用下别的远程连接软件了

二、宝塔
1.浏览器中输入,公网ip:8888,打开宝塔面板
初始账号密码获取:在服务器界面输入 bt default 查看

三、配置nginx和python
1.可以从宝塔配置,因为在命令行里配置貌似宝塔不会同步

点击PHP项目、Python项目,会提示你未下载,点击下载即可,Python选Pycharm同版本就行
查看Python版本号:pycharm命令行中输入 python --version
2.从命令行配置可能遇到的问题:yum,apt命令无法使用 阿里云服务器安装Nginx时,显示安装失败
浏览器输入ip+端口打不开?
因为端口未开放
阿里云:
宝塔:
两个都要改!
四、宝塔创建python项目
1.创建项目

项目路径:Django根目录
运行文件:我也不清楚要选什么,我选的views文件,也可以正常运行
2.升级pip pip3 install --upgrade pip
3.安装python库
从命令行:pip3 install django (这里版本对不上也没关系
从宝塔:
五、安装uwsgi
1.执行以下命令,安装uWSGI。
sudo pip3 install uwsgi
如果回显信息如下所示,表示uWSGI已安装成功。
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting uwsgi
Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/b3/8e/b4fb9f793745afd6afcc0d2443d5626132e5d3540de98f28a8b8f5c753f9/uwsgi-2.0.21.tar.gz (808kB)
100% |████████████████████████████████| 808kB 72.9MB/s
Installing collected packages: uwsgi
Running setup.py install for uwsgi ... done
Successfully installed uwsgi-2.0.22
2.编写uwsgi.ini文件
[uwsgi]
#项目目录
chdir=/www/wwwroot/PyProject
#指定项目application
wsgi-file=/www/wwwroot/PyProject/firstWEB/views.py
# 进程个数
processes=4
# 线程个数
threads=2
#指定启动时的pid文件路径(用于停止服务和重启服务,请勿删除)
pidfile=/www/wwwroot/PyProject/uwsgi.pid
# 指定ip及端口
# 默认http模式,可切换至socket模式
http=0.0.0.0:8000
#socket=0.0.0.0:8000
#启动uwsgi的用户名和用户组
uid=www
gid=www
#启用主进程
master=true
# 后台运行,并输出日志
daemonize = /www/wwwlogs/python/PyProject/uwsgi.log
# 自定义设置项请写到该处,
# 如果项目的启动方式您不想使用 wsgi-file 请注释掉,但不要删除,通讯方式(http, socket)同理;
# 最好以上面相同的格式 <注释 + 换行 + key = value> 进行书写,方便以后查阅
六、将本地文件上传至服务器
1.从宝塔:
好像可以直接上传目录,挺好的,也可以压缩上传再解压
我当时受其它帖子影响,放在了wwwroot文件夹下,不过放哪好像都行,放root下也行

2.或者从workbench


3.配置settings.py
允许所有ip访问 : 输入i进入编辑模式,将ALLOWED_HOSTS = [ ] 修改为ALLOWED_HOSTS = ["*"] 修改完成后,ECS,输:wq保存并退出文件。
命令行文件编辑常用操作:按i进入编辑模式,esc退出编辑,输入:wq保存并退出
:wq无法退出,可能是你没有权限,输入:q退出,文件不会保存
ctrl+C可以退出一些软件 ctrl+D可以退出Python
4.连接数据库 我没有数据库,跳过
七、静态文件同步
1.数据迁移
在服务器命令行运行
/www/server/pyporject_evn/Django项目名称_venv/bin/python3 manage.py makemigrations
/www/server/pyporject_evn/Django项目名称_venv/bin/python3 manage.py migrate
2.重启Python

八、运行Django
cd到Django根目录下 cd /www/wwwroot/PyProject
python manage.py runserver 0:8001
上面的写法可以避免 Error: That IP address can't be assigned to.
注意,要将代码中涉及文件地址的地方修改为现在服务器的地址
输入ip+端口号即可访问
参考:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐





所有评论(0)