原文链接:https://www.django.cn/article/show-22.html
终于将项目写好了,该上线进行测试。总是要碰到项目的部署,太难了,前前后后差不多一个多月了,用ubuntu部署django失败了,用window server部署django也失败了。有很多时候,我都想放弃了,但是最后还是坚持了一下,将自己的项目部署成功了,现把方法写在下面共享于大家(坚持不易,支持一下,加个关注)
环境:
首先准备一个纯净ubuntu系统(18.0.4版本)、ubuntu是一个linux系统版本,自带python2.7,但是我们使用python 3.7,因此需要自己安装python 3.7,下面会有教的代码,另外需要安装数据库,一般用mysql,我的版本是5.7。这里需要注意,5.7不支持中文插入,你需要自己修改,百度一下就ok。django 2.1.8,是一个比较成熟的版本,我就一直用呢!
ubuntu环境准备(以下代码在ubuntu终端输入,每行代码敲一个回车):
1.新建终端,进入root用户下
su
“password”
更新操作系统的软件库:
apt-get update
apt-get upgrade
安装上传rz、下载sz工具
apt-get install lrzsz
安装gcc、g++的依赖库
apt-get install build-essential
apt-get install libtool
安装pcre依赖库
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g-dev
安装ssl依赖库
apt-get install openssl
2.安装python3和pip3
apt install python3
apt install pip3
3.在ubuntu系统中建立两个文件夹
mkdir /data/env
mkdir /data/test
4.安装python的虚拟环境Virtualenv
pip3 install virtualenv
在env目录下创建python虚拟环境(必须python版本)
cd /data/env
virtualenv -p /usr/bin/python3 django_release
5.启动虚拟环境
source /data/env/django_release/bin/activate
6.将自己的项目移到虚拟环境下(/data/test)
移项目用mv -rf ‘项目名称’ /data/test
pip3 install -r requirements.txt
运行一下项目看看能不能用(一般到这里就会出错)
python3 manage.py runserve
如果能正常启动,说明项目没啥问题。
7.安装uwsgi
另起一个终端,切换到root用户(上面有步骤),然后输入下面步骤:
pwd
cd …
…
重复上面命令,直到 pwd 命令后出现 /
pip3 install uwsgi
cd /data/env
pip3 install uwsgi
cd /data/test/‘项目名称’
touch 项目名称.xml
注意有一个点,上面touch命令新建一个配置文件
里面输入:
127.0.0.1:8000
/data/test/项目名称/
项目名称.wsgi
2
uwsgi.log
8.安装nginx
cd /usr/local
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -zxvf nginx-1.13.7.tar.gz
cd nginx-1.13.7
./configure
make
make install
cd /usr/local/nginx/conf
vim nginx.conf (这里也会报错)
进入编辑页面,然后复制下面内容:
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name 0.0.0.1:8000;
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
uwsgi_param UWSGI_SCRIPT 项目名称.wsgi;
uwsgi_param UWSGI_CHDIR /data/test/项目名称/; #项目路径
}
location /static/ {
alias /data/wwwroot/项目名称/static/; #静态资源路径
}
}
}
注意这个时候有两个终端!!!
cd /usr/local/nginx/sbin
./nginx -t
./nginx
如果终端没有任何提示就证明nginx启动成功。
切换到另一个终端
uwsgi -x 项目名称.xml
在切换到另一个终端
./nginx -s reload
在浏览器输入网址,你就能访问你的项目了
如果你换了资源,那么你需要下面步骤
1.在终端中输入
killall -9 uwsgi
killall -9 nginx
cd /usr/local/nginx/sbin
./nginx -t
./nginx
cd /data/test/项目名称/
uwsgi -x 项目名称.xml
cd /usr/local/nginx/sbin
./nginx -s reload
如果想要更加完全的解决坑,请扫一扫
扫完后加qq:1905422347,帮你解决
写作不易,请支持一下: