当前位置:   article > 正文

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

服务器部署 django

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

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

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

2、拉取仓库中的代码

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

  1. mkdir /data
  2. cd data
  3. mkdir www
  4. 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依赖

  1. yum install zlib zlib-devel -y
  2. yum install bzip2 bzip2-devel -y
  3. yum install ncurses ncurses-devel -y
  4. yum install readline readline-devel -y
  5. yum install openssl openssl-devel -y
  6. yum install xz lzma xz-devel -y
  7. yum install sqlite sqlite-devel
  8. yum install gdbm gdbm-devel -y
  9. yum install tk tk-devel -y
  10. yum install mysql-devel -y
  11. yum install python-devel -y
  12. yum install libffi-devel -y
  13. 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

解压&编译&安装

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

  1. tar -xvf Python-3.9.5.tgz
  2. cd Python-3.9.5/
  3. ./configure
  4. make all
  5. make install

4、安装虚拟环境

  1. pip install virtualenv
  2. 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

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

  1. (bom) [r data]# yum repolist|grep mysql
  2. mysql-connectors-community/x86_64 MySQL Connectors Community 178
  3. mysql-tools-community/x86_64 MySQL Tools Community 85
  4. 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开机自启动

  1. systemctl enable mysqld
  2. 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和对应操作权限,不会像自己学习的时候给这么大权限,设置完毕后要手动刷新)

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

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

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

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

6、更改django项目中的配置

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

关闭DEBUG模式

DEBUG = False

添加对静态文件的配置

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

开放9999端口

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

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

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

python manage.py runserver 0.0.0.0:9999

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/508260
推荐阅读
相关标签
  

闽ICP备14008679号