uwsgi: 2.0.14 (命令为:uwsgi --version)
nginx: 1.10.3 (命令为:nginx -V)
django: 1.6.11
安装过程:
python不用安装,ubuntu自带,但需要安装pip,具体安装命令为:
sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip
uwsgi安装(不要用最新的版本,可能与python2.7.12不兼容,踩过的坑),具体安装命令为:
sudo pip install uwsgi==2.0.14
django安装,具体命令为:
sudo pip install django==1.6.11
nginx安装,具体安装命令为:
sudo apt-get install nginx
关于nginx的常用说明:
所有的配置文件都在/etc/nginx/下;
启动程序文件在/usr/sbin/下;
日志文件在/var/log/nginx/下面,分别是access.log和error.log;
并且在/etc/init.d下面创建了启动脚本nginx
nginx常用命令为:
sudo /etc/init.d/nginx start (启动)
sudo /etc/init.d/nginx stop (停止)
sudo /etc/init.d/nginx restart (重新启动)
如果启动成功,在浏览器中输入127.0.0.0:80,则可以在浏览器看到nginx的显示页面:
如果在以后的使用的过程中出现错误,如:
首先可以查看nginx进程,命令为:ps -aux | grep nginx 显示的第二项就是进程号。
如果有很多个nginx进程,利用sudo kill -9 进程号 这个命令杀死进程。
如果杀死进程还无法启动,就利用提示systemctl status nginx.service来查看日志,根据提示修改(这个很重要)
到此为止安装过程已经完成。
测试uwsgi:
在测试uwsgi的过程中,一定要注意你当前所在的目录位置,否则会出现一些找不到app之类莫名奇妙的问题。这是一个初次配置者容易掉入的坑。
单独测试uwsgi,不用Django
在/home/lab406/xd/wl新建一个python文件,testuwsgi.py
内容为:
打开终端,切到/home/lab406/xd/wl目录,输入如下命令:
此时uwsgi已经成功启动,在浏览器中输入127.0.0.1:8000,可以看到
此时证明uwsgi已经成功安装了。
下面用uwsgi来连接django:
假设你的Django项目已经创建成功,并且可以成功运行。
你可以用django-admin.py startproject 项目名来创建项目。
用python manage.py runserver 127.0.0.1:8000启动项目,然后在浏览器中输入127.0.0.1:8000如果显示如下图就创建成功了:
使用uwsgi时应该停掉django自带服务器。
现在我以我的django项目的目录位置来详细说明
我的django项目名字为:WaterAnalyse_V2
在ubuntu上的位置是 /home/lab406/xd/wl
打开终端:切到/home/lab406/xd/wl目录,输入以下命令:
在浏览器中输入127.0.0.1:8000可以看到
此时证明uwsgi和django已经成功对接上了,但仍然不是显示静态页面,所有需要使用nginx来调用静态页面
利用nginx来显示静态文件:
进入/etc/nginx/sites-enabled目录:
先default文件备份以下(备份在其他位置,不要在这个目录下,否则nginx有可能启动不了)
修改default文件内容为:
Django静态文件收集:
将Django自带的惊天文件收集到同一个static中,不然Django会找不到静态文件。(正常开发情况都会建立static文件夹)
在Django的setting文件中,添加:
到项目目录下执行:
python manage.py collectstatic
修改配置文集setting文件,具体为:
启动方式:
在启动uwsgi,然后在启动nginx,具体命令如下:
lab406@lab406-yang:~/xd/wl$ uwsgi --socket :8000 --chdir WaterAnalyse_V2/ --wsgi-file water_analyse/wsgi.py
lab406@lab406-yang:~$ sudo /etc/init.d/nginx start
在浏览器中访问一切正常:
到此为止Django+uwsgi+nginx已经完全配置成功。
说明:每次使用uwsgi启动都得输入一长串的命令,可以写成一个配置文件。
建立将启动配置文件命令为:projectname_uwsgi.ini 并且放在和Djang的manage.py文件同目录下:
具体配置内容如下:
注意:没有写成全路径,所以需要在project的目录下运行。
具体命令为:
uwsgi --ini projectname_uwsgi.ini