腾讯云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
腾讯云CentOS7.2+Django2.2+Python3.7+Nginx+Uwsgi 初学者部署教程相关推荐
- 腾讯云CentOS7 LAMP(linux的apache MariaDB php)yum方式部署
服务器初始化配置过程 1创建新的用户 2配置用户的ssh秘钥 SecureCRT的几种登录方法 1 使用密码通过ssh登陆 11 在ssh的配置文件中找到 12 加入登陆限制 13 然后在etcssh ...
- 腾讯云CentOS7运行基于SSM的个人博客----第三节:使用Dokcer安装JDK、Tomcat环境
腾讯云CentOS7运行基于SSM的个人博客----使用Dokcer安装JDK.Tomcat环境运行SSM的个人博客项目 第一节: 更新yum源,安装Dokcer容器 第二节: 使用Dokcer安装M ...
- 2021使用腾讯云CentOS7.6搭建Terraria泰拉瑞亚服务器
2021使用腾讯云CentOS7.6搭建Terraria泰拉瑞亚服务器 纯净档(还没研究出其他的) 适合与朋友玩 1. 前期准备 一台云服务器(本章使用的为1核2G的腾讯云服务器) PuTTY 2.设 ...
- 阿里云、腾讯云centos7安装mysql
阿里云.腾讯云centos7安装mysql 1.下载 2.解压与准备 3.安装 4.配置 4.1配置数据库 4.2查看默认密码 4.3启动mysql 4.4设置密码 5.开启远程登录 5.1开放330 ...
- 腾讯云Centos7 python3.6升级到python3.8.1
最近想要学习Ai错别字算法,自己的电脑运行有特别慢,特意斥巨资花了800大洋在腾讯云买了一台服务器(一个月GPU,真的贵,伤不起) 想要安装Python3.8.1,但是原来有了python2.7和py ...
- 腾讯云centos7搭建javaweb服务器(本人亲自经历,详细)
首先声明,这是本人亲自搭建成功的经历,亲测有效,****(此处和谐)网上好多在云服务器上搭建javaweb的教程,好多都是各种抄的或者若干年之前的,真的是被坑惨了!废话不多说,下面直接上干货!步骤很详 ...
- 腾讯云安装mysql_详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题
背景: 今天才申请了腾讯云+校园计划的1元服务器,安装了Centos7.0,在安装MySQL的时候,使用yum list | grep mysql 来查找yum源中是否有mysql,结果如下: [ro ...
- 腾讯云centos7.5安装ClamAV杀毒软件
今日登陆腾讯云发现了一些安全事件提醒 点击***拦截***后 提示要单独购买腾讯云的WEB应用防火墙,想了想还是算了,自己装个杀毒软件就得了:通过查询发现一个博客中推荐ClamAV这款杀毒软件,就着手 ...
- 腾讯云centOS7手动搭建LAMP并上传TP5项目
查看centOS版本命令: cat /etc/redhat-release 步骤1:登录 Linux 实例(此处利用putty登录) 步骤2:安装 Apache 执行以下命令,安装 Apache. y ...
最新文章
- python与excel表格-超简单:用Python让Excel飞起来
- Longest Common Substring
- 一文整理深度学习【调参小技巧】
- SQLServer数据库(二)
- 国外的幼儿数学竟然这样出题?来测测你的孩子都会做吗?
- dpkg-buildpackage: error: debian/rules binary subprocess was killed by signal 2
- mac版 SimHei添加教程
- Tbschedule源码通读
- 读书笔记《蛤蟆先生去看心理医生》
- 北大青鸟 当当网网 js 上机作业
- 英语不好学计算机特长,指导:英语学不好,是因为你没养成这些好习惯
- css中的counter计数器
- [HCTF 2018]WarmUp1PHP 代码审计
- 通达信VCP形态选股公式,憋了好几天才写出来
- 终于放假咯~寒假规划
- 怎么把cad做的图分享给别人_怎么将CAD图转换
- 阿里推出新品牌“瓴羊”,致力成为“数字化领头羊”
- 23种设计模式——工厂模式+适配器模式实战
- 海南企业成功研发我国第三代防伪技术
- devServer和dev的区别,及vue代理接口的使用
热门文章
- 这 3 个字是未来发展关键,不重视的企业,正在被淘汰
- ​他被称为印度“ IT 大王”,富可敌国,却精打细算如守财奴
- 任务队列,消息队列和rpc的区别是什么?
- 为所有PHP-FPM容器构建单独的NGinx Dock镜像
- struct ifconf和struct ifreq,获取网线插入状态
- @Conditional派生注解
- Struts2中导入外部xml文件出现Included file cannot be found错误!
- 9-7NOIP模拟赛总结
- 51nod 最大M子段和系列
- WebSocket 网页聊天室的实现(服务器端:.net + windows服务,前端:Html5)