声明:以下内容为个人配置过程概要,若有错误地方请指出.
本文原创,转载需声明,不声明就诅咒你
一、python3.6
本人使用anaconda3进行环境管理及版本控制;
1.新建空白文件夹 (用来存放安装包、其他资源):
mkdir /documents/apps
wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh (注:此为python3.6版本)
bash Anaconda* (*号占位,此处只有一个Anaconda开头的文件,所以简写)
省略安装步骤...(会有一个环境软链过程,按照提示自行配置)
2.使用环境
source activate base; (注:base 为anaconda默认环境,包含大部分常用库,若需要使用自定义环境,查看conda命令自行安装)
该命令执行后,将使用base环境.
如图:python环境为conda,默认3.5版本,
pip依赖为python3.5
二、相关依赖
pip install uwsgi;(注:建议使用该方法安装,uwsgi之后的plugin以为会以anaconda为目录,,,或按照官方标准*没试过,不知道*)
pip install django=2.0(注:不加版本号默认为最新的)
三、django
1.创建项目文件夹 : /documents/proj
cd /documents/proj
django-admin startproject markProj (注:django创建项目命令, 可根据:django-admin -h 查看相关命令)
cd markProj
python manage.py noChoice testApp (注:创建一个app,用manage.py文件控制管理本项目)
目录结构:
说明:
根目录中:markProj为创建项目是自动创建,存放配置文件、入口等
markProj.ini 为uwsgi配置文件,后续说明
noChoice为app目录
2.简要配置(cd到项目根目录)
(1).vim markProj/settings.py
在 ALLOWED_HOSTS 中添加 "*",即允许所有ip访问
(2).vim noChoice/views.py
添加如上代码,测试用
(3).vim markProj/urls.py
添加如上代码
ok,下一步
四、nginx
yum install nginx
配置 nginx , vim /etc/nginx/nginx.conf (注:默认目录)
按照如上配置,static 路径暂时没用到,之后会再进行补充
nginx 通过8000端口监听请求
五、uwsgi
1.cd 到项目根目录
2.vim markParam.ini
如上配置,箭头部分为必填,保存退出
调用命令 : uwsgi --ini markProj.ini 开启服务
注:外部访问,需要开启8090端口,端口控制可使用firewalld服务
socket 为本机nginx与uwsgi沟通所用,8080端口由nginx监听,将请求转发给uwsgi,
http为外部访问是调用的端口
wsgi-file为项目文件中唯一的wsgi.py文件,此处用"./",因为ini文件在项目根目录中,
chdir为项目根目录
其它参数参考uwsgi官访文档