腾讯云CentOS7.2+Django2.2+Python3.7+Nginx+Uwsgi 初学者部署教程

腾讯云CentOS+Django+Python+Nginx+Uwsgi 部署(自用,简单记录)

说明:本人是做前端研发的,最近研究了后台Django框架,并部署到服务的整个流程,为了避免以后忘记,写一个简单的文档记录下。

第一:购买服务器

我是在腾讯云购买的最便宜,配置最低的那种,主要是以学习为主。就买了一个月的:62.5。

第二:登录到终端,安装软件

我安装也是按照网上的教程来的,俗称网络搬运工

1:Centos 安装Python3

借鉴文章:centos7 安装python3。文章中编译安装前 先执行命令:yum install libffi-devel -y (解决:ModuleNotFoundError: No module named '_ctypes')。我安装Python3的版本和方式略有不同:Python版本是用的:3.7.3;方式是:先下载安装文件Python-3.7.3.tgz,再安装的。

2:Centos 安装MySql

借鉴文章:centos7+django+python3+mysql+阿里云部署项目全流程。这里我只借鉴安装MySql这一部分。

我的操作流程
  • 下载mysql源安装包:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
  • 安装mysql源:yum localinstall mysql57-community-release-el7-8.noarch.rpm
  • 安装mysql源:yum install mysql-devel
  • 安装MySQL(总计851M,翻墙):yum install mysql-community-server
  • 执行命令:pip3 install mysqlclient
  • 启动MYSQL服务:systemctl start mysqld
  • 查看MYSQLd的启动状态:systemctl status mysqld
  • 开机启动:systemctl enable mysqld
  • 修改root本地登录密码:
  • 获取密码:grep 'temporary password' /var/log/mysqld.log
  • 进入mysql:mysql -uroot -p
  • 设置密码:set password for 'root'@'localhost'=password('你的数据库密码');
  • 创建数据库(要和你的项目数据对应上):create database testdjango;(可能出中文问题)
  • 创建数据库:create database 数据库名 character set utf8 collate utf8_general_ci;
  • 使用数据库:use testdjango;
  • 查看当前数据库:show databases;
  • 删除数据库:drop database 数据库名;

3:PIP安装一些软件

这一步就比较简单了,就是pip安装。

我的pip安装

借鉴文章:CentOS7下部署Django+uWSGI+Nginx。这里我只借鉴pip安装这一部分。

  • 执行命令:pip3 install uwsgi
  • 验证:uwsgi --version 我的版本是:2.0.18
  • 执行命令:pip3 install django
  • 验证:django-admin help
  • 执行命令:yum install nginx
  • 验证:nginx -V
  • 到这里相关软件都安装完毕了
  • 执行命令:nginx
  • 用浏览器打开IP,显示 Welcome to nginx on Fedora 代表nginx启动成功了。

第三:修改对应配置文件

1:修改/etc/nginx/目录下的nginx.conf文件。 修改如下
  • listen 8099;(8099是自定义端口号,你的自己设置,后边请求的时候就是用的这个端口)
  • server_name xxx.xxx.xxx.xxx;(腾讯云上的公网IP地址)
  • location /{};(大括号里添加两行:include uwsgi_params; uwsgi_pass 127.0.0.1:8000;,端口号8000也是自己设置的,要和项目中uwsgi.ini中的一致)
  • 至此nginx就配置完毕了。
2:新建Django项目,配置uwsgi.ini 文件。

借鉴文章:uwsgi服务启动(start)停止(stop)重新装载(reload)。同时在项目根目录下,也就是和manage.py的同级目录,创建uwsgi_params文件,具体内容:Nginx

3:启动服务
  • 切换到项目更地址,执行:uwsgi --ini uwsgi.ini
  • 执行:nginx
4:admin后台样式消失

借鉴文章:Django+Nginx+uWSGI部署到服务器admin后台样式消失

第四:总结

网上类似的教程很多,坑也不少,不过总有一款适合自己的。我也是初次接触后端的东西,遇到不少坑,大家多查查资料,多尝试下总有办法解决的。

  • 远程服务器创建数据库,项目根目录下
  • 执行命令:python manage.py makemigrations
  • 执行命令:python manage.py migrate
  • 开启uwsgi服务
  • 执行命令:ps -ef|grep uwsgi
  • 执行:uwsgi --ini uwsgi.ini
  • 开启nginx服务
  • 执行命令:ps -ef|grep nginx
  • 执行命令:nginx
  • 停止nginx服务:pkill -9 nginx
  • 注意:uwsgi下的uwsgi.pid的值要和执行命令:ps -ef|grep uwsgi的一样

转载于:https://juejin.im/post/5cafe851f265da035e211425

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值