django在测试环境和部署环境有很大的不同,总而言之,部署环境中,思路是(假设已经有对应的python版本安装了):
(1)、下载配置uwsgi;
(2)、下载配置nginx;
(一)、uwsgi
wsgi是python程序的一个网观点接口,用来实现web应用的;
uwsgi是一个python的web服务器,像是node自带的服务器一一样,像是php的fastcgi一样;
首先在ubuntu下载安装uwsgi:
sudo apt-get install uwsgi
当然,后来我用了一台服务器的环境我全部配置成python3.6的,安装uwsgi的时候,有一点点不同,首先要安装个python的依赖,然后用pip的方式安装:
sudo apt-get install python3.6-dev
sudo pip install uwsgi
之后的其他步骤一样,输入命令可以检查是否成功
uwsgi --version
然后测试一下:
新建一个test.py,内容如下:
然后输入命令:
uwsgi --http :8888 --wsgi-file test.py
然后,浏览器输入 server_ip:8888,就会出现 “fuck you",证明ok了
然后,上传自己的django项目到任意目录(假设在/usr/share/nginx/python/下),如我的目录截图:
之后,可以直接用uwsgi做服务器(静态文件找不到。。。),有两种方式,一是命令行,二是写入配置文件:
1、命令行
uwsgi --http :8888 -chdir/usr/share/nginx/python/image_deal --wsgi-file /usr/share/nginx/python/image_deal/image_deal/wsgi.py
然后,就可以在浏览器输入 server_ip:8888,就可以访问了
2、配置文件
一般在根目录创建个ini文件,我命名为wsgi.ini,基础的内容如下:
然后,运行命令如下:
uwsgi wsgi.ini -d self/define/log.log[后台运行]
uwsgi wsgi.ini[前台运行]
(二)、nginx
uwsgi配置好,运行以后,配置nginx就好了,新建一个虚拟机如下图:
注意,其上的目录没有改,目录要对应!
然后重启
sudo service nginx restart
然后访问:http:server_ip:8003就ok了