部署Django到阿里云服务器教程

基于Ubuntu20.04 + Python3 + nginx + uwsgi + sqlite3 + Django

参考博客

文章目录

基于Ubuntu20.04 + Python3 + nginx + uwsgi + sqlite3 + Django

一、阿里云服务器的一些操作

二、安装必要的软件

三、项目配置

四、运行项目并解决Bugs

 


 写这篇博客的目的主要是想记录一下这一操作过程,在摸索这个过程的时候,明明有很多只是一点点Bug但是却用了特别多时间来解决,程序设计不应该是这样的,所以就把这一过程记录下来,帮助别人的同时也提醒一下自己。

一、阿里云服务器的一些操作

1. 停止现行实例

        

 

2.更换操作系统(换成ubuntu20.04,自带Python3

   

关于阿里云服务器的一些操作到此结束。

二、安装必要的软件

0、安装xshell 和 xftp(教程略.....

运行xshell,注意下面的xxx 换成你自己的阿里云服务器的共有地址!

ssh root@xxx.xxx.xxx.xxx

  输入完之后,敲回车,弹出的对话框点 ‘接受’ 就行,再输入密码就完成了。

1、安装Django

依次输入

sudo apt-get update
pip3 install django

     

输入 pip3 list 查看是否安装成功,因为上面安装 Django 时没有指定版本,所以安装的是最新的版本。

pip3 list

2、安装nginx

在xshell中依次输入

sudo apt-get update
sudo apt-get install nginx

安装完成后。用你电脑的浏览器访问你的服务器的公网ip地址,看看安装成功没有!换成你自己的公网ip地址之后出现下图,就可以认为成功了。

 

3、安装uwsgi

访问uwsgi下载的网站,下载Stable/LTS版本的源文件到你自己的电脑。下载完之后解压这个源文件,然后用xftp把文件拖放到阿里云的Ubuntu的家目录(home)下

(分别填写自己的公网ip地址,root,密码)输入完之后回车。

首先,1.找到/home目录,2.把解压完的uwsgi拖入home目录下

在xshell中使用cd命令进入到该文件夹下,并输入命令

sudo python3 setup.py install

  1. 进入该文件夹,2.输入命令

三、项目配置

1.配置项目

先用xftp把你的整个项目拖到家目录(home)那里,然后开始配置nginx文件:

在xftp中进入/etc/nginx目录下,输入/etc/nginx   回车

 

右键这个文件,选择 用记事本编辑

 

在Http里面输入如下代码:

server {
listen 80;
server_name 120.26.240.117;
charset utf-8;
location /static {
alias /home/demo01/static;
}

location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8000; }

}

    箭头所指的地方换成你自己的公网ip地址。保存。

 

在xshell 中输入nginx -t 检查是否输入错误,如果未出现下面那两个箭头的内容,则说明nginx.conf里面有错误,重新检查输入即可。

nginx -t

输入无误后,重启nginx   sudo service nginx restart

sudo service nginx restart

 

2、配置uwsgi

在xftp中输入/home/demo01,在这一目录下,新建一个uwsgi.ini文件和一个run.log文件,

 

在xftp中右键打开uwsgi.ini 并输入如下内容

[uwsgi]
chdir = /home/demo01
module = demo01.wsgi:application 
socket = 127.0.0.1:8000 
master = true         
daemonize = /home/demo01/run.log
disable-logging = true

chdir 是你的博客项目的根目录,我这里的项目名叫demo01;你要替换成你自己的路径;

moudule 是你的入口wsgi模块,将demo01替换成你自己的项目名称;

socket 是通信端口设置,这个设置不用改,复制即可;

master = true 表示以主进程模式运行,不用改,复制即可;

daemonize 是你的日志文件目录,这个路径就是刚刚新建的run.log文件的路径;

disable-logging = true 表示不记录正常信息,只记录错误信息,否则你的日志可能很快就爆满了!

 

3、修改settings.py文件

从xftp中打开settings.py文件修改:

     替换成    

DEBUG = False
ALLOWED_HOSTS = ['*']

3、数据库操作

用xshell进入Django项目目录下

cd /home/demo01/

依次输入下面三条指令

python3 manage.py check
python3 manage.py makemigrations
python3 manage.py migrate

   以后每次更新数据库的时候就使用这三条指令

 

四、运行项目并解决Bugs

启动该项目

python3 manage.py runserver 0.0.0.0:8000

打开浏览器输入公网IP地址和端口号

 

显然.....没出现图片,哪一步出错了呢?

出现的问题根本原因是:当我们在开发django应用时如果设置了 DEBUG = True,那么django便会自动帮我们对静态文件进行路由;但是当我们设置DEBUG = False后,这一功能便没有了,此时静态文件就会出现加载失败的情况,想要让静态文件正常显示,我们就需要配置静态文件服务了。

 

解决方法:

用xftp打开setting.py ,在最后的地方

第一个箭头是需要新增的一行,第二个箭头是需要修改的那一行。

STATIC_ROOT = 'static' 
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, '/static/'),
)

 

修改urls.py

from django.contrib import admin
from django.urls import path
from demo01.views import test

from django.views import static ##新增
from django.conf import settings ##新增
from django.conf.urls import url ##新增

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', test),

## 以下是新增
  url(r'^static/(?P<path>.*)$', static.serve,
      {'document_root': settings.STATIC_ROOT}, name='static'),
]

 

  保存。

 

从xshell中关闭原来的Django项目(直接在xshell中同时按 ctrl  c),再启动Django项目

python3 manage.py runserver 0.0.0.0:8000

再打开公网IP地址,发现图片成功显示出来了。

 

好了!至此,Django项目部署顺利完成。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值