将自己的django项目部署到云服务器(腾讯云centos)

最近自己买了个云服务玩,突然就想把自己写的小项目部署到云服务器上,这样就可以实现公网访问了。以下是整个部署过程和遇到的各种问题的解决方案,有想自己部署自己功能的,可以参考着进行哦。

1、设置好腾讯云的远程登录代码

先给你的云服务设置一个密码登录,方便用shh远程登录操作

2、拉取仓库中的代码

设置好后用shh工具远程登录后,创建一个文件夹存放你的django项目文件

mkdir /data
cd data
mkdir www
cd /data/www

安装git ,方便从gitee上拉取代码

yum install git -y

拉取代码

git clone https://gitee.com/... ... ---这个地方是自己的仓库地址

拉取的时候会需要输入gitee的账户和密码

拉取成功后,在www下面会增加代码的文件夹,这里的bom就是我的项目文件

当然,如果你的代码并没有托管到远程仓库上,一直在本地,你也可以使用shh的工具,将他们直接上传到服务器上,相关的工具很多,大家根据自己的习惯自己下载使用即可。最终的目的是实现将自己的代码上传到服务器上。

3、配置python环境

安装gcc

yum install gcc -y

安装python依赖

yum install zlib zlib-devel -y
yum install bzip2 bzip2-devel -y
yum install ncurses ncurses-devel -y
yum install readline readline-devel -y
yum install openssl openssl-devel -y
yum install xz lzma xz-devel -y
yum install sqlite sqlite-devel
yum install gdbm gdbm-devel -y
yum install tk tk-devel -y
yum install mysql-devel -y
yum install python-devel -y
yum install libffi-devel -y
yum install libffi libffi-devel -y 

下载wget

yum install wget -y

Python 安装包路径:(就是python官网上找自己需要的版本,最好不要找太新的,很多相应的服务器上的匹配都没有那么新,我用的是3.9,已经算很新啦)

https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz

wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz

解压&编译&安装

在压缩包所在的目录下,依次执行以下语句

tar -xvf Python-3.9.5.tgz 
cd Python-3.9.5/
./configure
make all
make install

4、安装虚拟环境

pip install virtualenv
virtualenv /envs/bom --python=python3.9

激活虚拟环境

source  /envs/bom/bin/activate

5、安装mysql

从mysql官网上下载仓库

wget  https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm

下载后可以查看是否下载成功

yum repolist|grep mysql

执行命令后能看到如下代码

(bom) [r data]# yum repolist|grep mysql
mysql-connectors-community/x86_64    MySQL Connectors Community              178
mysql-tools-community/x86_64         MySQL Tools Community                    85
mysql80-community/x86_64             MySQL 8.0 Community Server              395

默认安装的是mysql8.0的,我们需要安装mysql5.7版本的,这里需要我们修改配置

 vim /etc/yum.repos.d/mysql-community.repo

请参照截图修改

然后执行安装语句

 yum install mysql-community-server

设置mysql开机自启动

systemctl enable mysqld
systemctl start mysqld

查看一下是否启动成功

ps -aux|grep -v grep|grep mysql

查看mysql的版本

mysql --version

安装好后默认是不需要密码登录,这是因为在服务器上有特殊的账号配置

输入:

mysql -u root -p

回车不用输入密码即可登录

创建database

create database bom default charset utf8 collate utf8_general_ci;

创建账号admin,密码12345678

insert into mysql.user(user,host,password) values('admin','%',password('12345678'));

刷新权限

flush privileges;

授权各个ip均可访问(实际使用中要谨慎,一般都会设定固定的ip和对应操作权限,不会像自己学习的时候给这么大权限,设置完毕后要手动刷新)

grant all privileges on bom.* to admin@'%';
flush privileges;

这个时候如果用navicat去远程连接,基本上都是连不上的,这是因为防火墙的原因。你需要开通3306端口,如果你也是买的云服务器,你除了命令行操作以外,你还需要去服务器的安全组(或者防火墙上开通3306端口)

(bom) []# systemctl start firewalld.service
(bom) []# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
(bom) []# firewall-cmd --reload
success

这个时候你再用navicat等远程连接工具,就可以连接了。

6、更改django项目中的配置

根据你的数据库情况,设置setting中的配置

关闭DEBUG模式

DEBUG = False

添加对静态文件的配置

7、开发django应用的端口,运行程序

开放9999端口

firewall-cmd --zone=public --add-port=9999/tcp --permanent
firewall-cmd --reload

别忘了在腾讯云上开发端口

在manage.py所在的目录下执行

python manage.py runserver 0.0.0.0:9999

在服务器里输入公网ip,即可顺利访问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/219646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS(二)—— 初识ArkTS开发语言(下)之ArkTS声明式语法和组件化基础

前言: 通过前面ArkTS开发语言(上)之TypeScript入门以及ArkTS开发语言(中)之ArkTS的由来和演进俩文我们知道了ArkTS的由来以及演进,知道了ArkTS具备了声明式语法和组件化特性,今天,搭…

倾角仪(xyz)理解

第一列是初始值 x更小,说明往左倾 x更大,说明往右倾 z更大、y更大,说明往后倾 z更小、y更大,说明往前倾

[Unity+文心知识库]使用百度智能云搭建私有知识库,集成知识库API,打造具备知识库的AI二次元姐姐

1.简述 最近从百度智能云的官方技术支持那边了解到,目前百度千帆大模型平台提供有在线的知识库功能,能够在线上传自己的私人知识库文档,并且配置文心一言模型作为文本生成的引擎,构建自己的私有知识库。之前自己搭建知识库都是用的…

VPN 在网络安全中的应用

虚拟专用网络(Virtual Private Network,VPN)是指利用不安全的公共网络如 Internet 等作为传输媒介,通过一系列的安全技术处理,实现类似专用网络的安全性能,保证重要信息的安全传输的一种网络技术。 1&#…

【网络安全技术】电子邮件安全PGP,SMIME

一、PGP(Pretty Good Privacy) PGP是一种邮件加密手段,他在发邮件一方加密,然后发给发送方邮件服务器,发送方邮件服务器再发送给接收方邮件服务器,然后接收方再从接收方邮件服务器pop出来,这整…

【Python爬虫】Python爬虫入门教程注意事项

1 引言 随着互联网的快速发展,网络数据已经成为人们获取信息的重要来源。而爬虫技术作为获取网络数据的重要手段,越来越受到人们的关注。在众多编程语言中,Python因其易学易用、库丰富、社区活跃等优势,成为爬虫开发的首选。本文将…

python和pygame实现烟花特效

python和pygame实现烟花特效 新年来临之际,来一个欢庆新年烟花祝贺,需要安装使用第三方库pygame,关于Python中pygame游戏模块的安装使用可见 https://blog.csdn.net/cnds123/article/details/119514520 效果图及源码 先看效果图&#xff1a…

共建开源新里程:北京航空航天大学OpenHarmony技术俱乐部正式揭牌成立

12月11日,由OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会(以下简称“TSC”)和北京航空航天大学共同举办的“OpenHarmony软件工程研讨会暨北京航空航天大学OpenHarmony技术俱乐部成立仪式”在京圆满落幕。 现场大合影 活动当天,多位重量级嘉宾出席了此次…

PostgreSQL DBA之数据库指标监控

常规监控 连接数使用超过95%告警,最大连接数和当前连接数 select (select count(*) from pg_stat_activity) /(select setting from pg_settings where name max_connections) ::numeric >0.95; 存在空闲连接idle in transaction大于5秒的连,如果长…

【EXCEL】vlookup,index/match查找函数

区别: 1.Vlookup函数只能查找列数据,即纵向查找,而IndexMatch函数,既可以纵向查找,也可以横向查找; 2、Vlookup函数查找的依据(第一个参数)必须位于数据源的第一列,IndexMatch函数组合则无此限制…

matlab操作方法(三)——matlab中的数字图像(读取、显示、保存)

数字图像是二维图像用有限数字数值像素的表示。通常像素在计算机中保存为二维整数数组的光栅图像,这些值经常用压缩格式进行传输和存储。 二值图像:图像中每个像素的亮度值仅可以取自0或1的图像,因此也称为1bit图像 灰度图像:图…

华为配置基本QinQ示例

组网需求 如图1所示,网络中有两个企业,企业1有两个分支,企业2有两个分支。这两个企业的各办公地的企业网都分别和运营商网络中的SwitchA和SwitchB相连,且公网中存在其它厂商设备,其外层VLAN Tag的TPID值为0x9100。 现…

方法命名约定

Java从第一天起就遵循这个命名约定。类似地,大多数Java-8引入的类都包含这个of(...)方法 Stream.of(...) LocalDate.of(year, month, dayOfMonth) Instant.ofEpochSecond(epochSecond) and many more. 不仅有valueOf或of方法可用,而且在不同的类中&…

StatusBar、NavigationBar窗口显示在Activity下面之aosp14窗口类bug线索征集

背景: hi,粉丝朋友们: 从上次帮助国际学员解决了一个分屏有黑屏的bug后,相关blog和解决方法 https://blog.csdn.net/learnframework/article/details/134708393 解决方法看b站视频: https://www.bilibili.com/video/B…

Spring的AOP基于注解之准备工作(需要添加的依赖以及配置文件)

添加完依赖会爆红&#xff0c;点击m标刷新即可 使用SpringAspectJ的AOP需要引入的依赖如下&#xff1a; <repositories><!--spring6里程碑版本的仓库--><repository><id>repository.spring.milestone</id><name>Spring Milestone Reposi…

《使用ThinkPHP6开发项目》 - 登录接口二

《使用ThinkPHP6开发项目》 - 登录接口一-CSDN博客 说到登录&#xff0c;这就涉及到数据验证和数据库 这里要创建数据库以及登录要用到的用户表 1&#xff09;创建管理员表 CREATE TABLE vanus_system_admin (id smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT 管理…

【delphi11】delphi基础探索【二、 Delphi 的基本语法:变量声明、数据类型、控制语句】

一、变量声明 在 Delphi 中&#xff0c;变量声明是一个重要的概念。变量可以在程序的不同部分声明&#xff0c;例如在全局范围、局部范围或在类的定义中。以下是 Delphi 中各种变量声明方式的详细介绍&#xff1a; 1. 全局变量声明 全局变量在程序的单元&#xff08;Unit&…

路由器静态路由的配置

路由器静态路由的配置步骤如下&#xff1a; 进入系统视图。输入命令sys进入系统视图。配置路由器的接口IP地址。命令格式为int g0/0/0&#xff0c;其中g0/0/0表示路由器的接口&#xff0c;可以根据实际情况进行修改。然后使用命令ip add配置接口的IP地址。配置下一跳地址。在静…

【起草】1-2 讨论 ChatGPT 在自然语言处理领域的重要性和应用价值

【小结&#xff1a;ChatGPT 在自然语言处理领域的八种典型应用】 ChatGPT是一种基于Transformer模型的端到端生成式对话系统&#xff0c;采用自监督学习的方式ChatGPT是一种基于Transformer模型的端到端生成式对话系统&#xff0c;采用自监督学习的方式在海量无标注数据集上进…

PyTorch : torch.cuda.amp: 自动混合精度详解

amp : 全称为 Automatic mixed precision&#xff0c;自动混合精度 amp功能&#xff1a; 可以在神经网络推理过程中&#xff0c;针对不同的层&#xff0c;采用不同的数据精度进行计算&#xff0c;从而实现节省显存和加快速度的目的。 通常&#xff0c;深度学习中使用的精度为…