Ubuntu18.04部署django3.x(ubuntu22.04镜像下载)
off999 2024-09-29 16:08 36 浏览 0 评论
写在开头
这篇文章是我阅读了很多其他人的教程和结合自己踩过的坑所作
部分引用:
Django快速部署简约版 v3.0
Ubuntu安装MySQL8.0 允许远程访问
Django项目用Nginx部署上线之后,出现图片加载404错误
Ubuntu 18.04安装MySQL8.0数据库
ubuntu18.04 python3.7 pip安装mysqlclient报错ERROR
ubuntu18.04 + python3 安装pip3
1.本地项目的配置
注意:命令应该一条一条执行
本地项目应该反复测试并设置好settings.py配置:
在部署前,我们先修改一下settings.py:
# youliao/youliao/settings.py
ALLOWED_HOSTS = ['你自己的域名']生成环境包
pip freeze > requirements.txt阿里云安全组的配置,也就是打开80和22端口和3306端口
这部分不懂的照做即可:
购买服务器并配置登录密码以后,在首页点击 控制台>云服务器ECS>(网络与安全)安全组 没有就创建,有就点配置规则>公网入方向>添加安全组规则,如图所示,我们开放80端口,22端口也是这样打开的(22端口,部署完毕后我们要关掉)。
打开80和22端口
登录服务器,阿里云默认登陆就是root,拥有管理员权限,这很重要!如果你没有管理员权限,请在最开始就获取。
2.正式部署
系统更新
sudo apt-get update安装python3的pip3包
sudo apt-get install python3-pip安装MySQL(8.x)
首先点击进入官网,划到底部,下载个deb格式文件
将下载的文件拖拽到ubuntu的桌面,并终端进入桌面 然后执行如下命令:sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
方向键选mysql-8.0 并按enter键
方向键选择ok 并按enter键
更新apt: sudo apt update
解决提示部分:sudo apt-get upgrade
正式安装MySQL18.04:sudo apt install mysql-server
上边安装完后,会让你设置root密码,输入后按enter键,并再次确认
MySQL8.0采用了新的加密方式,与Ubuntu18.04有兼容问题; 故选择下面的旧版本5.x的加密方式
登录输入用户名与密码,看是否安装成功
运行配置向导:
mysql_secure_installation输入密码回车,回车,回车,然后4次输入Y回车(这个看你自己)。
MYSQL配置文件修改:
如果里面东西很多而不是下面这样的,就不要修改,直接退出。
正常的样子
如果满足条件,就输入i,在最后一行把下面内容添加到里面,保存退出,vi不会用的同学:linux下vi命令大全
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
?
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8
?
[mysql]
no-auto-rehash
default-character-set=utf8重启并连接:
service mysql restart
mysql -uroot -p输入密码,再输入以下命令,创建你的数据库:
CREATE DATABASE `DatabaseName` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;quit命令退出。
如何远程连接数据库?
分别执行以下命令:
添加可以远程访问的账号
mysql> create user 'root'@'%' identified by '你自己的mysql密码';
mysql> grant all privileges on *.* to 'root'@'%';
mysql> flush privileges;service mysql restart
记得开启阿里云3326的mysql端口,这个也有可能是失败的原因
解决django没法访问数据库:
create user 'django'@'localhost' identified by '你的密码';
grant usage on *.* to 'django'@'localhost';
grant all privileges on 你要连接的数据库.* to 'django'@'localhost';4.安装项目依赖
首先把你的项目放在你的服务器上(git,ssh都可以)
cd到你的项目
执行安装环境包命令:
pip3 install -r requirements.txt如果遇到mysql_client安装失败可以进行如下操作:
首先执行命令:
sudo apt install python3.7-dev libmysqlclient-dev然后
pip install mysqlclient同步数据库,建立管理员账号,同步静态文件:
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser然后测试:
python manage.py runserver 0.0.0.0:80每次执行又强行关闭后,需要杀死端口,否则会被占用,命令如下:
fuser -k 80/tcp如果无效,则执行:
netstat -anp查看所有端口占用情况,杀死PID就行
kill -9 PID强行退出快捷键:CTRL+C或Z
报错请自行检查项目,访问无问题进行下一步:
安装uWSGI:
pip install uwsgi启动测试:
uwsgi --http :80 --chdir /data/youliao/ -w youliao.wsgi报错请自行检查项目,访问无问题进行下一步:
mkdir -p /etc/uwsgi/sites
cd /etc/uwsgi/sites
vi youliao.ini填入以下内容:
[uwsgi]
project = youliao
base = /data
chdir = %(base)/%(project)
module = %(project).wsgi:application
master = true
processes = 5
socket = %(base)/%(project)/%(project).sock
chmod-socket = 666
vacuum = true保存退出,然后是安装Nginx:
apt-get install nginx
vi /etc/nginx/sites-available/youliao填入内容:
server {
listen 80;
server_name 你的域名;
location /static/ {
root /data/youliao/dist;
}
location /images/{
root /data/youliao/static;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/data/youliao/youliao.sock;
}
}保存退出,并检测错误!提示ok,那才行!
ln -s /etc/nginx/sites-available/youliao /etc/nginx/sites-enabled/
service nginx configtest重启服务:
service nginx restart
uwsgi /etc/uwsgi/sites/youliao.ini -d /home/youliao/youliao.log如果这时候你的网站已经可以正常浏览使用了,别忘记再在项目中的settings.py中关闭你的Debug:
# youliao/youliao/settings.py
DEBUG = False然后再重启uwsgi。
下面是杀死uwsgi进程的方法
ps -ef|grep uwsgi看一下PID,杀死就行。
kill -9 PID所有步骤全部完成,关闭22端口!
相关推荐
- 云骑士装机大师官方网站(云骑士装机大师软件下载)
-
就是感觉正规吧,还有就是小白那种的比较多,专业店一忽悠就掏钱做系统了。懂装机的哪有花钱去装系统的不靠谱,因为会造成个人信息的泄露。云骑士装机大师是网络装机系统,在网络上能够实现一键装机,非常的简洁方便...
- 万能钥匙下载免费(安心上网万能钥匙下载免费)
-
行1.使用手机功能表中自带的浏览器上网,直接搜索需要的软件进行下载安装(下载安卓版本格式为apk)。2.使用电脑下载APK格式的安装包,连接数据线传输至手机,操作手机在应用程序-我的文件中找到安装包,...
- 500兆宽带用什么路由器(家用路由器什么牌子好 信号强)
-
1、飞鱼星千兆无线路由器家用2600M双频企业级高速穿墙500M光纤游戏加速VW1900/千兆双频/1900M/大型企业路由器无线500m推荐理由:可以提供企业级别的性能,空旷环境覆盖更广大,...
- xp系统怎么卸载软件(xp怎么卸载程序)
-
1、选中此电脑,点击鼠标右键。2、选择属性点击一下。3、在打开的界面选择控制面板。4、点击程序选项下方的卸载。5、选择要卸载的程序软件,点击鼠标右键。6、点击弹出的选项卸载/更改。7、也可以使用电脑管...
- 笔记本电脑系统修复软件(笔记本电脑程序修复)
-
1、超级兔子2013系统修复软件超级兔子是一款完整的系统维护工具。拥有电脑系统评测、垃圾清理和注册表清理、可疑文件和插件检测、网页防护等功能,同时自带一些实用的系统工具,可清理你大多数的文件、注册表里...
- 联想保修服务包括哪些(联想保修都保修什么)
-
1、保修36个月的硬件包括:CPU、内存。2、保修24个月的硬件包括:主板、显卡、LCD屏、硬盘、电源适配器、键盘、鼠标模块。3、保修12个月的硬件包括:LCD之附件、光驱、DVD、CDR/W、软驱...
- 系统科学大会(中国系统科学学会)
-
2021年各种科学大会的召开时间取决于疫情的发展和国家政策的调整。一些大型的国际科学会议可能会推迟或者采用线上形式进行,以保障参会人员的安全和健康。同时,一些国内的学术会议也会受到疫情的影响,需要推迟...
- win10系统下载的内容在哪(win10下载的软件在哪个文件夹)
-
进入C:\Windows\SoftwareDistribution\Download目录下,通过win10应用商店中下载的安装包都放在此目录下。进入C:\Windows\SoftwareDistrib...
- 下载原版xp系统光盘(xp光盘系统安装教程怎么安装)
-
方法步骤步骤如下:1、首先打开计算机,在电脑光驱上放入XP光盘,启动电脑后不停按F12、F11、Esc等启动热键,在弹出的启动菜单中选择DVD选项,回车。2、进入光盘主菜单,按数字2或点击选项2运行w...
- windows7中文版下载安装(windows7安装包下载)
-
谢邀,如果你戳设置-时间和语言-区域和语言,右边的语言提示“只允许使用一种语言包”,那么你的系统就是家庭中文版。家庭中文版限定系统界面只能使用简体中文显示,其他功能则与普通家庭版没有区别,也可以使用其...
- win7开机按f2怎么重装系统(win7开机按f12怎么重装系统)
-
开机或重启时,在进入Windows前按F2进入BIOS。 ←→移动到第三个好像是BOOT。 然后将EXTENELBOOT选项设置为ENABLE 最后按F5将第一启动项目设置为EXTENEL...
-
- win10驱动管理(win10驱动程序)
-
win10由于联网后会自动安装驱动,如果自动安装驱动没出现问题,即可视为最佳驱动,若出现问题,卸载出问题的驱动,然后去查自己主板型号,在主板供应商官网下载对应驱动即是最佳01Windows10驱动更新调整当前当你插入连接即插即用(Pn...
-
2025-12-29 05:51 off999
- 手机上怎么找qq邮箱登录(用手机怎么找到qq邮箱)
-
入口是“联系人”选项卡。qq邮箱手机在QQ主菜单中选择下方的“联系人”选项卡;3、在“联系人”中选取“公众号”选项卡;4、在公众号中菜单中找到或搜索“QQ邮箱提醒”,点击进入;5、点击“进入邮箱”;6...
- amd显卡控制面板
-
AMD显卡控制面板是用来管理你的AMD显卡的,可以在控制面板中进行设置一些简单的调整,来提升显卡性能和效果。1、先打开AMD控制面板。2、打开“垂直同步(V-SYNC)”功能,可调整细节,改善影像流畅...
- win10老是未响应卡死(window10总是未响应)
-
具体方法:1、如果win10中的应用程序出现不响应的情况,应该是应用程序加载失败了。可以通过重置方法来解决win10应用程序无响应。2、登录win10系统,用管理员身份运行Powershell(可在C...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
