本人系统 : Centos7.4 (虚拟机)
系统自带 : python2.7.5 (宝塔基于python2) # 可忽略
Nginx : Tengine2.2.2 #宝塔一键安装 * 可忽略
现在安装 Python3.6
- 自己去下载 https://www.anaconda.com/download/ #不知道是什么,自己百度
- 我下载的是 Anaconda3-5.0.1-Linux-x86_64.sh [目前最新] #官网有安装教程
- 我安装在系统根目录
/anaconda3
安装完后 Anaconda3 已经自带 python3.6.3 后面会更新最新 - 添加源 -> https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ #我连三方全部都添加了.
安装django
conda install django
[root@hawk ~]# python
>>> import django
>>> django.VERSION # 查看 django 版本
(1, 11, 8, 'final', 0)
安装uwsgi
conda install uwsgi
[root@hawk ~]# uwsgi --version # 查看 uwsgi 版本
2.0.15
更新所有conda包
conda update --all
中途要输入 y 回车, 更新完成后
python 3.6.4 (目前最新)
django 2.0.1 (目前最新)
uwsgi 2.0.15 (目前最新)
这个时候建议,重启机器..
django 创建项目
cd /www/wwwroot
django-admin.py startproject testink
打开修改以下 /www/wwwroot/testink/testink/settings.py
ALLOWED_HOSTS = [] 改成 ALLOWED_HOSTS = ['*']
进入目录 /www/wwwroot/testink
运行以下
uwsgi --http :18883 --file testink/wsgi.py --static-map=/static=static
192.168.91.138 是我虚拟服务器ip, 浏览 192.168.91.138:18883
这个时候 django 和 uwsgi 已经 OK 了.
#以上所有操作,出现2次异常或者错误,我也不知道是什么,百度也找不到,我的解决方案是,重装,重启机器.
ModuleNotFoundError: No module named 'django' #有这个坑看下面链接
http://hawk.pub/x/icJ394Av.html
下面我们开始 Nginx
进入目录 /www/wwwroot/testink
下建 uwsgi.ini
[uwsgi]
socket = 127.0.0.1:18883
master = true //主进程
vhost = true //多站模式
no-site = true //多站模式时不设置入口模块和文件
workers = 2 //子进程数
reload-mercy = 10
vacuum = true //退出、重启时清理文件
max-requests = 1000
limit-as = 512
buffer-size = 30000
Nginx配置:
server {
listen 80;
server_name t.v.hak.ink;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:18883; #必须和uwsgi中的设置一致
uwsgi_param UWSGI_SCRIPT testink.wsgi; #入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录
uwsgi_param UWSGI_CHDIR /www/wwwroot/testink; #项目根目录
index index.html index.htm;
client_max_body_size 35m;
}
}
Nginx和uwsgi的配置完成,重启机器.
运行uwsgi --ini /www/wwwroot/testink/uwsgi.ini
OK了.
开机启动 vi /etc/rc.d/rc.local #开机启动脚本
加入 nohup /anaconda3/bin/uwsgi --ini /www/wwwroot/testink/uwsgi.ini >/dev/null 2>&1 &
重启试试.