IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django项目部署至华为云服务器 -> 正文阅读

[Python知识库]Django项目部署至华为云服务器

部署Django项目到华为云服务器教程

基于Ubuntu 20.04 + Python3.7 + mysql5.6 + Django3.2.6 + 宝塔Linux面板

1. ssh连接华为云服务器

在这里插入图片描述

2. 安装宝塔面板

宝塔面板官网

Ubuntu安装脚本:
在命令行中输入

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

安装成功后即可出现公网面板和内网面板地址,输入账号密码后即可进入宝塔面板页面
在这里插入图片描述
在这里插入图片描述
可以选择安装一键安装LNMP(Nginx + MySQL + Pure-Ftpd + PHP + phpMyAdmin)
在这里插入图片描述

3. 安装对应python版本

输入python -V 查看服务器python版本。

若不是你的django项目的python版本。选择安装对应版本python

# 在开始安装Python之前,请在系统上安装一些必需的软件包。登录到您的Ubuntu系统并执行以下命令:
sudo apt update
sudo apt install software-properties-common
 
# 使用Apt-Get安装Python 3.7
# Apt软件包管理器提供了在Ubuntu系统上安装Python 3.7的简单方法。请按照以下步骤操作:

# 打开系统上的终端,然后为系统配置Deadsnakes PPA。
sudo add-apt-repository ppa:deadsnakes/ppa
 
# 在Ubuntu系统上添加ppa后,更新apt缓存并在Ubuntu上安装Python 3.7
sudo apt update
sudo apt install python3.7
 
# 等待安装完成。通过执行以下命令检查Python版本:
python3.7 -V
 
# 至此,Python 3.7已安装在Ubuntu系统上并可以使用。

创建软连接

# 备份python2的软连接
sudo cp /usr/bin/python /usr/bin/python_bak
 
# 删除原来的python2软连接
sudo rm /usr/bin/python
 
# 重新指定python为python3的软连接
sudo ln -s /usr/bin/python3.7 /usr/bin/python

查看是否安装成功

python -V

在这里插入图片描述

4. 安装虚拟环境

apt-get update
apt-get upgrade
pip install virtualenv

创建虚拟环境

cd ~
cd /home
virtualenv django
cd django
source bin/activate  #激活虚拟环境

5. 安装mysql client

cd /home
# 若下载提示失败,可以通过复制网址,浏览器打开下载,然后传到服务器
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/libmysqlclient-dev_5.7.34-1ubuntu18.04_amd64.deb
 
dpkg -i libmysqlclient-dev_5.7.34-1ubuntu18.04_amd64.deb
 
apt-get install libmysqlclient-dev

若报错

Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
libmysqlclient-dev : Depends: libmysqlclient21 (= 8.0.20-1ubuntu18.04) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
 
apt-get -f install
 
apt-get install libmysqlclient-dev

6. 将Django项目文件上传至华为云服务器

这里我采用的是宝塔面板中的文件管理中的上传文件选项,可以直接把项目文件上传至服务器,这里我选择把项目放在了home文件夹下
在这里插入图片描述

7. 本地数据库上传至服务器

现在本地导出数据库的SQL文件
在这里插入图片描述
将sql文件上传至服务器
进入到sql文件的目录下

cd /home/Django

登陆数据库

mysql -u root -p

输入密码
在这里插入图片描述
上传数据库

source jdbcstudy.sql;
use jdbcstudy;
show tables;

在这里插入图片描述

8. 修改Django项目的settings.py文件

修改Django项目的settings.py文件使得其他ip也能够访问Django项目
另外也要修改mysql配置的账号密码
这一操作可直接在宝塔面板中进行修改:
找到文件 ——> 双击修改
在这里插入图片描述
在这里插入图片描述
注:这一步也要把Django项目中出现其他有关mysql配置的账号密码也一并修改

9. 安装Django项目的依赖库

注:这一步要在之前的虚拟环境中进行

在本地的Django项目中导出相关依赖库

pip freeze > requirements.txt

将导出的requirements.txt文件上传至服务器中并记着上传地址

进入到服务器requirements.txt文件的目录下

cd /home/Django

查看依赖库

cat requirenment.txt

在这里插入图片描述
读取安装依赖库

pip install -r requirements.txt

若报错

/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
 
apt-get install openssl
 
apt-get install libssl
# 无法安装libssl可以尝试安装libssl-dev
 
root@hecs-x-medium-2-linux-20200704093014:/home/proj_lab# apt-get install libssl
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libssl
 
dpkg --add-architecture i386
apt-get update
apt-get install libssl-dev:i386
 
pip install -r requirenment.txt  # 安装依赖
 
pip list  # 查看已安装的库

10. 启动Django项目

启动也需要在虚拟环境下进行启动
运行项目(分为两种,一种是前台运行,一种是后台运行)

  • 前台运行(关闭远程后程序会结束运行)
python manage.py runserver 0.0.0.0:80
  • 后台运行(关闭远程后程序不会结束运行)
nohup python manage.py runserver 0.0.0.0:80 &

注:运行时按ctrl +c 前台运行的情况可以终止运行,但是后台运行的情况不能,当时用后台运行时只能通过杀死线程的方式终止
杀死线程:

lsof -i:80 来查询80端口信息
kill -9 查到的PID

另外若使用其他端口的话需要在华为云服务器开放相关端口

输入服务器的公网ip和端口号以及Django项目app的URL即可进行访问

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:25:00  更:2022-02-28 15:26:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:32:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码