Ubuntu 20.04 + Python3.7 + mysql5.7 + Django4.1.3 + 宝塔Linux面板

文章目录

  • 1、连接华为云服务器
  • 2、安装宝塔linux面板
  • 3、安装项目对应的python版本
  • 4、安装虚拟环境(防止意外发生导致系统奔溃):
  • 5、安装mysqlclient
  • 6、将Django项目文件上传至华为云服务器
  • 7、本地数据库上传到服务器
  • 8、修改上传到服务器的django文件中的seeting.py文件
  • 9、安装Django项目的依赖库
  • 10、启动Django项目
  • 可能会出现如下图访问时间过长,失败的结果:
    • 关闭防火墙
  • 由于带宽限制,做了一些优化来加快访问速度:

1、连接华为云服务器

2、安装宝塔linux面板

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

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

安装成功后会出现一下信息:可以看到外网和内网的访问面板,我们在Windows端使用外网面板地址即可访问,然后输入对应的username和password。

这里我先安装了MySQL5.7,因为别的软件暂时用不到,我就没有安装。
安装成功后可以到面板左下角有个软件商店查看。

3、安装项目对应的python版本

输入python -V 查看服务器python版本。
这里我用的是3.7版本,大家可以按照自己django项目的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系统上并可以使用。创建软链接:
# 重新指定python为python3的软连接
sudo ln -s /usr/bin/python3.7 /usr/bin/python查看最后是否安装成功:
pyhton -V

4、安装虚拟环境(防止意外发生导致系统奔溃):

apt-get update
apt-get upgrade
pip install virtualenvcd ~
cd /home
virtualenv django #在django文件夹下创建虚拟环境
cd django
source bin/activate  #激活虚拟环境

如下图左端有(django)标识,则表示创建成功

5、安装mysqlclient

这里因为我们在最开始宝塔界面创建时就选中了mysql5.7的安装,所以这部分可以跳过。
但注意mysql在宝塔中安装后,它的默认密码需要自己找并可以修改,如下图。

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

有两种上传文件的方式:

  • 使用宝塔自带的文件传输功能(但单次只能上传1000个文件)。(在宝塔页面左侧栏)
  • 使用xftp软件传输

这里由于我的项目文件数量超过1000,所以选择使用了xftp传输,如下图。

7、本地数据库上传到服务器

我平时使用的数据库软件是navicat,用它把数据库文件导出->test1.sql
然后将数据库文件上传至服务器,方法同上,用xftp传输。
Django文件和sql文件均放到:/home/django/

进入到sql文件目录下:

cd /home/django

登录数据库:

mysql -u root -p

然后输入刚在宝塔界面修改的数据库密码后登录,如下图,显示登录成功

运行刚上传进来的sql文件,将具体数据上传到服务器中
(注意:在运行sql文件前,现在数据中创建与sql文件名字相同的数据库,我这里是test1)

create databses test1;
use test1;
source test1.sql;
show tables;

8、修改上传到服务器的django文件中的seeting.py文件

这一操作可直接在宝塔面板中进行进行:找到文件 —> 双击修改
目的:

  • 使得其他ip也能够访问Django项目

  • 修改mysql配置的账号密码

9、安装Django项目的依赖库

(注:这一步要在之前的虚拟环境中进行,即命令行前带有“(django)”标识,详情见第4步)

  • 在本地的Django项目中导出相关依赖库:
    pip freeze > requirements.txt
    导出文件后上传至服务器/home/django路径下

  • 进入到服务器requirements.txt文件的目录下
    cd /home/Django
    查看依赖库
    cat requirenment.txt

    (注:若文件中有不是“xxx==xxx”的内容,把它们全部删掉,我之前导出的文件中有大量其他内容,导致无法正常运行,删掉无关内容后即可,如上图)

  • 读取安装依赖库

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 1apt-get install opensslapt-get install libssl#无法安装libssl可以尝试安装libssl-devroot@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 libssldpkg --add-architecture i386
apt-get update
apt-get install libssl-dev:i386pip install -r requirenment.txt  # 安装依赖pip list  # 查看已安装的库

10、启动Django项目

(启动也需要在虚拟环境下进行启动,即命令行前带有“(django)”标识,详见第4步)
运行项目(分为两种,一种是前台运行,一种是后台运行)

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

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

杀死线程:

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

此时如上图,表明项目已经成功启动,在Windows端输入外网ip+端口号即可访问网站。

可能会出现如下图访问时间过长,失败的结果:

这个是因为服务器的8080端口不对外开放,我们需要去华为云界面把8080端口对外开放:

  • 进入华为云,找到自己的服务器,点击“更多”,找到“更改安全组

  • 点击“新建安全组”,添加端口

  • 点击“配置规则”,选择快速添加规则

    再点击“添加规则”,添加“8888”端口,这是关键

  • 最关键的一步来了!!!自己添加的规则,一定要关联实例,否则会出现无法访问宝塔面板

关闭防火墙

最后记得进入宝塔界面,把服务器防火墙关掉即可,这样外界就可以访问这个端口的数据了!

由于带宽限制,做了一些优化来加快访问速度:

1、把之前13M的背景图片缩小成100kb的图片;
2、把部分js文件由本地引入方式改成国内服务器链接引入

部署Django项目到华为云服务器教程相关推荐

  1. 部署Django项目到阿里云(五)——反向代理及均衡负载技术Nginx

    上一篇:部署Django项目到阿里云(四)--用uWSGI运行Django项目 在上节中,已经能将django项目部署到阿里云,远程连接了. 但是实际项目中,一般一台服务器满足不了高并发的要求,所以为 ...

  2. 利用Jenkins自动化部署springboot项目到阿里云服务器(centos8)

    背景: 最近想部署一个springboot项目到阿里云服务器里面.捣鼓了很久,构建了很多次,都失败了!实在是一脸辛酸,有点气馁~ 在此想记录一下构建的过程. 不了解Jenkins之前,觉得Jenkin ...

  3. un-app部署h5项目到普通云服务器--域名解析--OOS对象存储

    在不不使用前端托管,自己买了一个云服务器的情况 首先要进行云函数的url化 之后是项目部署 服务器一般是nginx 安装nginx 可以参考菜鸟网 windows+jenkins+gitea+node ...

  4. mysql上传到阿里云服务器地址_从0部署Web项目到阿里云服务器上

    前言 本篇文章的主要内容正如标题所言,这个过程说简单也还是有很多细节需要注意的,说难其实也挺简单的,还是希望我们大家都能勤动手去体会其中的内容,经历本身就可以使人进步.话不多说,让我们开始吧. 正文 ...

  5. 部署SSM项目到阿里云服务器ECS

    文章目录 一. 问题背景 二. 准备资源 三. 安装JDK 3.1 下载 3.2 安装 3.3 配置环境变量 四. 安装MySQL 4.1 下载 4.2 解压缩 4.3 修改操作系统配置 4.4 卸载 ...

  6. 部署vue项目到阿里云服务器

    一般前端工程师只会使用npm run serve 在开发环境下验证,那么如何把npm run build 打出的包部署到服务器上进行上线呢?这篇文章就详细阐述这一流程. 1. 购买或试用阿里云服务器 ...

  7. 如何部署javaweb项目到阿里云服务器

    系统环境;centos7.4  64位 软件:jdk-8u181-linux-x64.tar.gz:mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz: 第一步:申请 ...

  8. 在windows环境中部署SSM项目到阿里云服务器-对象存储OSS

    首先进入到阿里云官网:https://www.aliyun.com/,进入云服务器ECS,点击立即购买. 进入下面的界面,可以选择一键购买或者自定义购买 购买成功之后,点击管理控制台,进入购买之后的服 ...

  9. 如何部署后端项目到阿里云服务器

    解析域名,创建网站 1.登录阿里云,购买服务器ESC 可以选择你自己喜欢的操作系统,建议购买Linux系统的 2.购买成功,可以点击控制台选择云服务器ESC进入服务器概览页面,查看自己的实例 3.点击 ...

最新文章

  1. python中计算如何实现_如何实现计算每个函数的梯度?
  2. LeetCode 情侣牵手 (贪心)
  3. 记录 之 tensorflow中几个常用的函数:tf.unstack,tf.concat() 和 tf.stack() 等
  4. JS_鼠标移入移出渐变效果(类似css3中的transition或animation和@keyframes)
  5. C89与C99标准比较
  6. 已知圆心,半径,角度,求圆上的点坐标
  7. 重要的气质-个性决定命运
  8. postman压力测试_如何用Postman简单做接口自动化
  9. 修改Tomcat窗口名称
  10. SpringBoot集成Swagger2自动生成友好的RestApi测试页面及文档
  11. java https请求 证书_java发https请求,证书配置
  12. 数据库 超市零售管理系统
  13. ios 凭据验证_iOS内购IAP(十四) —— IAP的收据验证(一)
  14. wps文件没有保存怎么恢复,学这一招就够了!
  15. 披荆斩棘,蜕变从来学吧这里开始
  16. 在vue项目中引用萤石云播放器插件
  17. C语言实现总体方差,总体标准差,样本方差,样本标准差
  18. textarea的placeholder怎么实现换行-新的方法
  19. 《将博客搬至CSDN》_se7en3_新浪博客
  20. YOLOX部署优化训练

热门文章

  1. 一文讲清chatGPT的发展历程、能力来源和复现它的关键之处
  2. 慕课头条:拼多多海外版表现亮眼;小度配送机器人发布;土巴兔也玩儿元宇宙...
  3. 【论文泛读148】ChineseBERT:通过字形和拼音信息增强的中文预训练
  4. 【blender】动画导出方法
  5. 13 1602液晶显示屏
  6. 服务器收集系统清单,EAS的Linux服务器系统依赖包清单
  7. fastJson深拷贝
  8. 基于java的springboot球馆运动场地预约系统毕业设计springboot开题报告
  9. 推荐:走遍美国视频下载
  10. w3c标准 - Css - (4)CSS定位方案