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

news2024/12/26 22:46:32

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

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.coloradmin.cn/o/1306932.html

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

相关文章

智能座舱架构与芯片- (9) 音频篇 上

一、音频总线 音频是智能座舱的核心功能,涵盖车载音响、语音识别、e-Call、消噪及回声消除等应用,随着汽车智能网联化的发展,对音频的开发要求也越来越高。传统的车载音频系统采用模拟并行音频信号传输方式,难以在功能增加与整车…

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-1开环系统与闭环系统Open/Closed Loop System

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-1开环系统与闭环系统Open/Closed Loop System EG1: 烧水与控温水壶EG2: 蓄水与最终水位闭环控制系统 EG1: 烧水与控温水壶 EG2: 蓄水与最终水位 h ˙ q i n A − g h A R \dot{…

总结了人工智能领域,能源领域,电气领域比较好中的一些sci期刊!!仅供参考

文章目录 前言一、总结了人工智能领域,能源领域,电气领域比较好中的一些sci期刊 总结 前言 期刊查询网站: https://www.letpub.com.cn/index.php?pagejournalapp&viewsearch 链接: 点我跳转期刊查询网站 一、总结了人工智能领域&#…

许战海战略文库|美国品牌实践:从品类品牌向产业品牌转变

引言:《品类战略》是上世纪70年代特劳特和里斯所推崇的定位理论,强调“品类聚焦是唯一正确的战略“新品类要使用新品牌”等战略思想,并对品牌延伸等多元化品牌进行批判,并由中国代理人传入中国,从2002年至今滋生了众多品类品牌,阻碍中国经济发展。 在今天…

图生视频AI技术,1张图零提示词,让静态照片动起来

AI时代的发展速度比我们想象中的快多了,当大部分人刚学会AI生成图片时,现在又开始流行AI生成视频了,正式从图片、文字升级到短视频时代。 最近一段时间,AI生成视频的技术正在突飞猛进。Pika、Runway等大家熟知的海外工具都在不断…

android studio flutter启动一直卡在“ Running gradle task ‘assembledebug‘ “的解决问题

解决问题: 1、修改项目中android/build.gradle文件 将buildscript.repositories下面的 //google() //mavenCentral()注释掉,改成maven {allowInsecureProtocol trueurl https://maven.aliyun.com/repository/google } maven {allowInsecureProtocol t…

Chrome安装插件出现CRX-HEADER-INVALID解决方法

1 Chrome浏览器安装离线插件时出现了“CRX-HEADER-INVALID”错误。 2将插件包的后缀名改成.zip格式。 3点击右侧三点按钮后点击【更多工具】--》【扩展程序】界面。 4在【扩展程序】将ZIP包拉入并安装。 5这样就安装成功了,虽然图标上有红色图标…

HarmonyOS4.0从零开始的开发教程14Web组件的使用

HarmonyOS(十二)Web组件的使用 1 概述 相信大家都遇到过这样的场景,有时候我们点击应用的页面,会跳转到一个类似浏览器加载的页面,加载完成后,才显示这个页面的具体内容,这个加载和显示网页的…

数据库——安全性

智能2112杨阳 一、目的与要求: 1、设计用户子模式 2、根据实际需要创建用户角色及用户,并授权 3、针对不同级别的用户定义不同的视图,以保证系统的安全性 二、内容: 先创建四类用户角色: 管理员角色Cusm、客户角…

YashanDB亮相2023年深圳市高校教育信息化学会学术年会,加码高校数字基座建设

12月3日,“2023年深圳市高校教育信息化学会学术年会”在深圳顺利召开。深圳计算科学研究院(简称:深算院)YashanDB团队受邀出席,同来自深圳高校、政府教育部门、教育信息化专家学者等共同探讨教育信息化前沿技术与应用的…

06线性回归衍生算法

目录: ridge算法 lasso算法 elastic-Net算法 from sklearn.linear_model import Ridge from sklearn.linear_model import SGDRegressor, LinearRegression from sklearn.linear_model import Lasso import numpy as np# 1. Ridge 岭回归# 生成随机数据 X np.…

linux 调试工具 GDB 使用

gdb是linux下常用的代码调试工具,本文记录常用命令。 被调试的应用需要使用 -g 参数进行编译,如不确定可使用如下命令查看是否支持debug readelf -S filename | grep "debug" 启动调试 gdb binFile 例如要调试sshd: 调试带参数…

汉诺塔(函数递归)

前言 汉诺塔问题是一个经典的数学谜题,也是函数递归的一个经典问题,起源于印度。问题的设定是有三个柱子,第一个柱子上有一组不同大小的圆盘,按照从上到下依次变大的顺序摆放。目标是将所有的圆盘从第一个柱子移动到第三个柱子上&…

RV1126/RV1109 ISP调试方案

最近一直在做瑞芯微rv1126的开发,由于项目性质,与camera打的交道比较多,包括图像的采集,ISP处理,图像处理,H.264/H.265编解码等各个方面吧。学到了不少,在学习的过程中,也得到了不少…

Flutter的BuildContext简介

文章目录 BuildContext 简介BuildContext的主要作用 BuildContext 简介 BuildContext是Flutter中的一个重要概念,表示当前Widget在树中的位置上下文。它是一个对Widget树的一个位置的引用,用于查找、访问和操作该位置上的相关信息。每个Widget都有一个关…

家长的责任是什么

我们经常讨论各种话题,包括家长的责任。作为家长,我们的责任不仅仅是抚养孩子,更是塑造他们的未来。那么,家长的责任究竟是什么呢? 为孩子提供一个稳定、和谐的家庭环境。家庭是孩子成长的第一个课堂,家长需…

自激活T细胞为肿瘤免疫治疗提供新思路—高分文献分享

CD28是在所有小鼠和人类T细胞上表达的共刺激受体,用来调节T细胞受体(TCR) 的响应。异常的CD28 信号传导是癌症、自身免疫和病毒感染中T细胞功能障碍的决定性特征之一。早期的一些研究表明CD28对CD4 T细胞更重要,但也有越来越多的研究者发现其对CD8 T细胞…

Java:TCP 通信方法(基本发送 + 接收)并 实现文件传输且反馈

TCP 通信编程 TCP:是一种可靠的网络协议,再通信两端都建立一个Socket对象。 通信之前要保证连接已经建立。 通过Socket产生IO流进行通信。 创建对象时,会连接服务器,连接不上,会报错。 所以,先运行服务端,再…

SCT2632QSTER4.2V-60V Vin,3A,高效、频率可调、降压DCDC转换器

SCT2632Q是一款3A降压转换器,具有宽输入电压,从4.2V到60V,集成了220mΩ高压侧MOSFET。SCT2632Q采用峰值电流模式控制,支持脉冲跳过调制(PSM),以帮助转换器在轻负载或待机状态下实现高效率条件。…

逻辑回归原理及代码

逻辑回归原理 线性回归主要用于预测连续的数值输出,基于线性关系模型,其目标是最小化实际值和预测值之间的差异。 逻辑回归主要用于分类问题,尤其是二元分类,它预测属于某一类别的概率,并基于概率输出进行决策&#x…