腾讯云Ubuntu部署Django(Django + uwsgi +nginx + MySQL)

目录

前言

一、环境版本信息

二、准备Ubuntu的python3环境(python3.8.3)

1.安装编译环境

2.下载Python源码

3.解压

 4.配置安装选项

 5.编译,安装

 6.设置软连接

 三.Ubuntu下安装virtualenv(为后面创建虚拟环境做准备)

1.安装virtualenv

2.安装virtualenvwrapper 

3.创建虚拟环境的目录

4.配置virtualenvwrapper

5.使其生效

6.创建虚拟环境

7.下载需要的python包

 8.进入虚拟环境操作

四.更改django项目文件部分内容再上传到云服务器中

1.最重要的一步就是备份,以免文件被改得运行不了,备份了之后再在副本文件上更改

2.删除数据库的迁移记录以及更改数据库用户名以及密码

3.上传到云服务器

五.数据库搭建以及数据库迁移

1.数据库搭建参考我上一篇MySQL的文章

2.数据库迁移

 3.导出Windows数据库并导入linux数据库

六.安装与配置uWSGI

1.安装

2.uwsgi配置部署、

3.启动uwsgi

4.关闭uwsgi

 5.查看uwsgi的运行状态

七.安装与配置nginx

 1.安装

 2.配置nginx 

3.启动nginx

4.查看运行状态

5.停止运行

6.重新启动

八.访问


前言

本文将介绍django + uwsgi + nginx + mysql如何部署在腾讯云Ubuntu


一、环境版本信息

Python 3.8.3

腾讯云Ubuntu18.04

Django 2.2.12

uwsgi 2.0.21

nginx 1.20

mysql 8.0

二、准备Ubuntu的python3环境(python3.8.3)

1.安装编译环境

更新源的软件列表

apt-get update
apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev

2.下载Python源码

阿里镜像下载

wget https://cdn.npm.taobao.org/dist/python/3.8.3/Python-3.8.3.tgz

3.解压

tar -xzf Python-3.8.3.tgz

 4.配置安装选项

先进入上一步解压出来的 Python 源码文件夹:

cd Python-3.8.3

如果想快速安装,只配置安装位置即可。

例如,我要把 Python3.8.3 安装在这个目录下:/usr/local/python3.8

./configure --prefix=/usr/local/python3.8

 5.编译,安装

make
make install

 6.设置软连接

ln -s /usr/local/python3.8/bin/python3.8 /usr/bin/python3.8
ln -s /usr/local/python3.8/bin/python3.8-config /usr/bin/python3.8-config

 三.Ubuntu下安装virtualenv(为后面创建虚拟环境做准备)

1.安装virtualenv

pip install virtualenv

2.安装virtualenvwrapper 

pip install virtualenvwrapper

3.创建虚拟环境的目录

虚拟环境都放置在该目录下

mkdir ~/.virtualenvs

4.配置virtualenvwrapper

vim ~/.bashrc
# 打开文件后在文件最下方增加如下代码export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

export WORKON_HOME=$HOME/.virtualenvs

source /usr/local/bin/virtualenvwrapper.sh

5.使其生效

source ~/.bashrc

6.创建虚拟环境

mkvirtualenv 虚拟环境名称(自定义就可以) -p python3

7.下载需要的python包

.这里使用的是清华镜像,下载你项目所需要的包就行

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ django==2.2.12
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pymysql
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ mysqlclient
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pillow
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ beautifulsoup4

 8.进入虚拟环境操作

workon 虚拟环境名字

 括号里面就是虚拟环境,就代表你在这个虚拟环境下操作了

 

四.更改django项目文件部分内容再上传到云服务器中

1.最重要的一步就是备份,以免文件被改得运行不了,备份了之后再在副本文件上更改

2.删除数据库的迁移记录以及更改数据库用户名以及密码

3.上传到云服务器

我用的是WinSCP,filezilla也可以

 

五.数据库搭建以及数据库迁移

1.数据库搭建参考我上一篇MySQL的文章

ubuntu18.04安装与配置MySQL

2.数据库迁移

这一步是在数据库中把表建好

跟在django的终端操作一样,在项目的根目录下输入

python manage.py makemigrations
python manage.py migrate

 3.导出Windows数据库并导入linux数据库

 我用的是sqlyog这款软件

直接去sqlyog中导出就好了

 

点击导出

 复制全部内容,进入在linux下创建的数据库

mysql -uroot -p
输入密码
use 数据库名称

然后粘贴你刚刚复制的内容,他就导入完成了

六.安装与配置uWSGI

1.安装

pip install uwsgi

2.uwsgi配置部署、

创建delop文件

delop下面创建logs用于存放日志,创建uwsgi_conf.ini

以下是uwsgi_conf.ini的配置内容

 注意socket后面要写127.0.0.1不要写公网ip,不然uwsgi启动不起来端口号随便写就行,但是要与之后的nginx的一样

虚拟环境的地址用which python来查找

which python

写到虚拟环境的那个名称的目录的路径即可

配置完uwsgi之后将delop文件夹放在项目的根目录下

3.启动uwsgi

uwsgi --ini uwsgi_conf.ini &

注意此处启动uwsgi要到delop下面去执行

4.关闭uwsgi

uwsgi --stop uwsgi.pid

 5.查看uwsgi的运行状态

ps aux|grep uwsgi

 6.uswgi杀死进程

 pkill -f uwsgi -9

 这样就代表启动成功

如果只一项的话,可以去delop下的logs下的uwsgi.log查看日志,看看是哪里报错了。

七.安装与配置nginx

 1.安装

sudo apt install nginx

 2.配置nginx 

http:表示所有的http请求的处理

server:监听端口

location:匹配请求路径,转到响应的处理

在delop文件夹下创建nginx_conf.conf

vim nginx_conf.conf

写入以下内容

upstream bbs{
    server 127.0.0.1:8000;
}
server{
# 监听端口
listen 80;
server_name 公网ip地址;
# 编码
charset utf-8;

# 文件最大上传大小
client_max_body_size 75M;

# 媒体文件
location /media{
    alias /home/ubuntu/bbs/test1/media;
}

# 静态文件
location /static{
    alias /home/ubuntu/bbs/test1/static;
}

# 主目录
location /{
    uwsgi_pass bbs;
include /etc/nginx/uwsgi_params;
}
}

将配置文件移动到/etc/nginx/conf.d/nginx_conf.conf

mv nginx_conf.conf /etc/nginx/conf.d/nginx_conf.conf

修改nginx.conf第一行开头需修改用户,将www-data修改成root,用root启动,有权限,不用担心权限报错的问题

3.启动nginx

sudo systemctl start nginx

4.查看运行状态

sudo systemctl status nginx

 

 这样就是运行成功

5.停止运行

sudo systemctl stop nginx

6.重新启动

sudo systemctl restart nginx

尽量不要重新启动,先停止后启动,不然容易报错

八.访问

公网ip:80 + url

一般是80端口,apech nginx这类web服务器一般都是80端口


总结

这里对文章进行总结:
本文简单介绍了django + uwsgi + nginx + mysql部署在腾讯云Ubuntu上,希望对你有帮助,有什么问题欢迎评论。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu是一个自由开源的操作系统,其中有很多的工具和服务可以用于搭建与开发Web应用。其中,常用的Web应用栈是使用Nginx作为Web服务器,UWSGI作为应用程序服务器,Django作为Web框架,MySQL作为关系型数据库。 要安装和配置这些服务,需要进行以下步骤: 1. 安装Ubuntu操作系统,可以选择最新版本的Ubuntu LTS或者最新的Ubuntu发行版。 2. 安装Nginx服务,并配置Nginx服务器来处理并转发HTTP请求。这里可以使用apt-get install命令来安装Nginx包。 3. 安装UWSGI服务,并配置UWSGI服务器来处理Django应用程序。这里可以使用pip install命令来安装UWSGI包。 4. 安装Django,并编写一个基本的Django应用程序。然后配置UWSGI服务器以运行Django应用程序。可以使用pip install命令来安装Django包。可以使用此教程 - https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html 5. 安装MySQL数据库服务,并配置MySQL服务器以使用Django应用程序。可以使用apt-get install命令来安装MySQL包。 6. 在Django应用程序中配置MySQL数据库连接参数,并创建 MySQL数据库及表。 7. 配置Nginx服务器以使用UWSGI服务器来处理Django应用程序。可以使用上面的教程来完成这一步骤。 8. 启动NginxUWSGI服务器,并测试Django应用程序是否可以访问。 在进行以上的步骤时,需要注意安全措施,防止 Web 应用程序被攻击和入侵。同时,也需要进行充分的测试,保证 Web 应用程序的稳定性和可用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值