django部署和服务器配置教程

2018-12-09  本文已影响0人  爽爽ing

本文讲述django 详细的部署教程,本机选择的是ubuntu系统,相对于比较简单,也比较详细,我也是新手,希望大家有好的意见或者建议可以多多提出了,大家一起进步!

第一步

你本地的项目完成后,选择上线的时候,首先把setting.py 里的DEBUG=True,修改为False.,如果不改成False,那么你线上出bug,用户就会看到你的错误.
把ALLOWED_HOSTS = ['*']

第二步

在你的项目下新建一个配置文件,uwsgi.ini,然后按照如图,编辑这个配置文件,chdir里写的shi

在你项目的环境下安装一下uwsgi

pip install uwsgi

第三步

启动配置文件
uwsgi --ini uwsgi.ini
查看进程
ps -aux | grep uwsgi
这时他就会在你本地生成一个log 配置文件
只要你改文件了,就必须的杀进程
killall -9 uwsgi
杀完进程,在启动服务器,服务器上就有 数据,但是没有静态资源,这个时候你就要搞定nginx
nginx是提供静态资源的,它可以分清动态请求和静态请求,带static的就是静态请求,不带的就是动态请求

动态请求的理解图给大家画一下

静态请求的理解图

第四部

安装nginx

我的电脑是ubuntu系统的直接在终端里执行sudo apt install nginx
然后进入到nginx的路径里,编辑一个配置文件nginx.conf

sudo vi nginx.conf

在httl{}最大的括号里增加一下几行代码,让nginx选择你是动态请求还是静态请求
然后把所有的进程都杀死,然后重启nginx,下面是ubuntu里启动,关闭,重启nginx的命令
启动nginx
        /etc/init.d/nginx start 启动

        /etc/init.d/nginx stop 或killall -9 nginx 关闭

        /etc/init.d/nginx restart 重启    

这时你已经配置完nginx本地项目里的uwsgi.ini配置文件里,就不能用http了,换成socket,这个socket是配合nginx使用的,这时你改动文件了,又需要重启uwsgi,这个时候你动态请求已经搞定完成了,再去搞定静态吧!加油!

第五步

配置静态资源

在setting.py里加一段话,配置静态资源的,收集静态资源,可以收集在任何路径下
同时把这段话注掉

然后执行这句话,是收集静态资源的命令,python3 manage.py collectstatic

然后再去改nginx 的配置 sudo vi nginx.conf,加上这段话
改完这句话后,最好是在杀进程,然后在重启nginx
再去项目里杀进程,uwsgi --stop uwsgi.pid
在重启uwsgi, uwsgi --ini uwsgi.ini

这个时候在启动一下浏览器,你的静态资源就出来了

配置服务器

第一步

打开腾讯云,登录,新买的服务器重置一下密码

第二步

打开终端,登录服务器
ssh ubuntu@公网ip 就可以登录了

第二步

sudo apt update

第三步

sudo apt upgrade

第四步

出现让你选择的页面,就一路回车,例如

第五步

安装pip ,你本地有的东西,远程上一定要有

第六步

安装虚拟环境
sudo pip3 install virtualenv

这个时候兴许报错,请按照以下方法配置

第七步

安装扩展包
sudo pip3 install virtualenvwrapper

第八步,配置虚拟环境

vi.bashrc
复制这三条命令到文档
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

配置完让它生效

source .bashrc

第九步

配置虚拟环境
mkvirtualenv 环境名称

第十一步

退出虚拟环境,deactivate
安装数据库
sudo apt-get install mysql-server mysql-cliet
这时候输入你要设置的数据库的密码


第十步

换一个终端,导出数据库

第十一步

再去项目里把需要的包都导出来


第十二步

想任何方法把依赖的文件还有源码,上传到服务器 git ftp scp




本地你项目的文件就需要压缩一下在上传,不然太大了

这时上传完了,就需要给他解压缩一下

unzip 你的压缩文件名

第十三步

在进入您的虚拟环境下
workon 虚拟环境名字
再把所有依赖装上
pip install -r 虚拟环境的文件名字

第十四步

在终端进入你的虚拟环境,然后看看数据库,你的表有没有
mysql -uroot -p
show databases; 查看数据库
use 数据库名;
show table; 看看你有什么表
exit 退出数据库

第十五步

进入虚拟机里的项目所在位置,看看里面一定要有一个 uwsgi.ini 的文件

然后进入编辑这个文件vi uwsgi.ini


编辑完后在进一层, cd MyBlog 就会看到这么多文件
在 vi setting.py
检查 DEBUG = False
ALLOWED_HOSTS = ['*']
在看看静态文件是否收集
看上传图片注掉没
在返回上一层,看一下进程,uwsgi起来没起来
ps -aux | grep uwsgi
如果看到它启动了,在杀掉
uwsgi --stop uwsgi.pid 把主进程都杀掉
在看一下进程是不是都没有了
如果没有了,在启动 uwsgi --ini uwsgi.ini
在看一下是否启动了
这时候在去看 nginx 文件夹, 进入编辑sudo vi nginx.conf
server_name 后面写的是自己服务器的公网地址
然后进入到这个路径,error.log 这个里写的是你报错的日志,为什么起不来
在把nginx杀掉,可以直接用这个命令 /etc/init.d/nginx stop
/etc/init.d/nginx start 启动

这个时候去浏览器,输入你的公网ip,你就会启动你的网页了!这就是部署服务器的全部操作,希望能帮到大家,谢谢大家观看!

上一篇下一篇

猜你喜欢

热点阅读