uwsgi官网中文文档:https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/tutorials/Django_and_nginx.html
需要用到的材料
- Nginx 1.10.3
- uWSGI
- Django-2.1.1
1. 下载配置Django
- 使用pip3安装Django,先安装pip3
sudo apt-get install -y python3-pip
pip3 install django
- 安装完成后测试Django能否正常运行
在**/opt/目录下创建名为index**的Django工程
cd /opt
django-admin startproject index
cd index
mkdir static # 创建静态资源目录
vim index/settings.py # 修改Django配置文件
在文件末尾添加
STATIC_ROOT = os.path.join(BASE_DIR,'static')
执行python manage.py collectstatic收集静态资源文件
python3.5 index/manage.py runserver 0.0.0.0:8080
浏览器输入127.0.0.1:8080
测试成功继续下一步
2. uWSGI配置
- 下载uwsgi
pip3 install uwsgi
- 测试uwsgi运行情况,使用uwsgi运行Django工程
cd /opt/index
uwsgi --http :8080 --module index.wsgi
–http :8080:使用http协议,端口8080
–module:加载的文件
在浏览器中输入127.0.0.1:8080访问站点
3. Nginx配置
- 下载Nginx
sudo apt-get install -y nginx
sudo service nginx start
nginx默认使用的是80端口,所以在浏览器中可直接访问127.0.0.1
4. Nginx+uWSGI+Django
- 复制uwsgi_params文件到index目录下
sudo cp /etc/nginx/uwsgi_params /opt/index/
- 在index目录下创建nginx服务器配置文件
vim index_nginx.conf
添加如下内容upstream django { server 127.0.0.1:8080; # uwsgi端口号 } server { listen 8000; # nginx监听端口 server_name 127.0.0.1; # 服务器域名 charset utf-8; # 字符集 client_max_body_size 75M; # 客户端最大上传 location /static { alias /path/to/your/mysite/static; # 静态资源目录 } location / { uwsgi_pass django; include /path/to/your/mysite/uwsgi_params; # uwsgi_params目录 } }
- 删除**/etc/nginx/sites-enabled/defualt默认服务器文件
为index_nginx.conf**创建软连接
sudo ln -s /opt/index/index_nginx.conf /etc/nginx/sites-enabled/
- 创建uwsgi配置文件
vim index_uwsgi.ini
添加如下内容[uwsgi] chdir = /opt/index # 站点主目录 module = index.wsgi # 加载文件 master = true # 启用进程 processes = 10 # 启用10个进程 socket = :8080 # 端口号 vacuum = true # 退出时清除虚拟环境 pidfile = /tmp/uwsgi.pid # 生成uwsgi启动进程id文件,用于 --stop | --reload
5. 测试
- 重启nginx
sudo service nginx restart
- 使用uwsgi启动django
uwsgi --ini index_uwsgi.ini
- 在浏览器中直接输入127.0.0.1成功访问django站点