部署Django项目到华为云服务器教程
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项目到华为云服务器教程相关推荐
- 部署Django项目到阿里云(五)——反向代理及均衡负载技术Nginx
上一篇:部署Django项目到阿里云(四)--用uWSGI运行Django项目 在上节中,已经能将django项目部署到阿里云,远程连接了. 但是实际项目中,一般一台服务器满足不了高并发的要求,所以为 ...
- 利用Jenkins自动化部署springboot项目到阿里云服务器(centos8)
背景: 最近想部署一个springboot项目到阿里云服务器里面.捣鼓了很久,构建了很多次,都失败了!实在是一脸辛酸,有点气馁~ 在此想记录一下构建的过程. 不了解Jenkins之前,觉得Jenkin ...
- un-app部署h5项目到普通云服务器--域名解析--OOS对象存储
在不不使用前端托管,自己买了一个云服务器的情况 首先要进行云函数的url化 之后是项目部署 服务器一般是nginx 安装nginx 可以参考菜鸟网 windows+jenkins+gitea+node ...
- mysql上传到阿里云服务器地址_从0部署Web项目到阿里云服务器上
前言 本篇文章的主要内容正如标题所言,这个过程说简单也还是有很多细节需要注意的,说难其实也挺简单的,还是希望我们大家都能勤动手去体会其中的内容,经历本身就可以使人进步.话不多说,让我们开始吧. 正文 ...
- 部署SSM项目到阿里云服务器ECS
文章目录 一. 问题背景 二. 准备资源 三. 安装JDK 3.1 下载 3.2 安装 3.3 配置环境变量 四. 安装MySQL 4.1 下载 4.2 解压缩 4.3 修改操作系统配置 4.4 卸载 ...
- 部署vue项目到阿里云服务器
一般前端工程师只会使用npm run serve 在开发环境下验证,那么如何把npm run build 打出的包部署到服务器上进行上线呢?这篇文章就详细阐述这一流程. 1. 购买或试用阿里云服务器 ...
- 如何部署javaweb项目到阿里云服务器
系统环境;centos7.4 64位 软件:jdk-8u181-linux-x64.tar.gz:mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz: 第一步:申请 ...
- 在windows环境中部署SSM项目到阿里云服务器-对象存储OSS
首先进入到阿里云官网:https://www.aliyun.com/,进入云服务器ECS,点击立即购买. 进入下面的界面,可以选择一键购买或者自定义购买 购买成功之后,点击管理控制台,进入购买之后的服 ...
- 如何部署后端项目到阿里云服务器
解析域名,创建网站 1.登录阿里云,购买服务器ESC 可以选择你自己喜欢的操作系统,建议购买Linux系统的 2.购买成功,可以点击控制台选择云服务器ESC进入服务器概览页面,查看自己的实例 3.点击 ...
最新文章
- python中计算如何实现_如何实现计算每个函数的梯度?
- LeetCode 情侣牵手 (贪心)
- 记录 之 tensorflow中几个常用的函数:tf.unstack,tf.concat() 和 tf.stack() 等
- JS_鼠标移入移出渐变效果(类似css3中的transition或animation和@keyframes)
- C89与C99标准比较
- 已知圆心,半径,角度,求圆上的点坐标
- 重要的气质-个性决定命运
- postman压力测试_如何用Postman简单做接口自动化
- 修改Tomcat窗口名称
- SpringBoot集成Swagger2自动生成友好的RestApi测试页面及文档
- java https请求 证书_java发https请求,证书配置
- 数据库 超市零售管理系统
- ios 凭据验证_iOS内购IAP(十四) —— IAP的收据验证(一)
- wps文件没有保存怎么恢复,学这一招就够了!
- 披荆斩棘,蜕变从来学吧这里开始
- 在vue项目中引用萤石云播放器插件
- C语言实现总体方差,总体标准差,样本方差,样本标准差
- textarea的placeholder怎么实现换行-新的方法
- 《将博客搬至CSDN》_se7en3_新浪博客
- YOLOX部署优化训练