nginx+uwsgi+django安装配置
Posted linux-learn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx+uwsgi+django安装配置相关的知识,希望对你有一定的参考价值。
一、安装Nginx
sudo apt-get install nginx
更改/etc/nginx/sites-enabled/default文件
添加内容:
server
listen 8080;
#server_name 127.0.0.1
charset UTF-8;
access_log /var/log/nginx/myweb_access.log;
error_log /var/log/nginx/myweb_error.log;
client_max_body_size 75M;
location /
include uwsgi_params;
uwsgi_pass 0.0.0.0:8000;
uwsgi_read_timeout 2;
location /static
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/demo/myweb/static/;
二、安装uwsgi
sudo apt-get install python3-dev
sudo apt-get install python3-pip
python3 -m pip install setuptools
python3 -m pip install uwsgi
pip3 list查看安装情况
三、安装django
sudo apt install python3-django
python3 -m pip install django
四、测试django安装是否成功
django-admin startproject myweb
在myweb文件夹创建 myweb_uwsgi.ini
内容如下:
# myweb_uwsgi.ini file
[uwsgi]
# Django-related settings
socket = :8000
# the base directory (full path)
chdir = /home/demo/myweb
# Django s wsgi file
module = myweb.wsgi
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 4
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
五、启动django服务
uwsgi --ini myweb_uwsgi.ini
nginx +uwsgi + django配置
一 安装 nginx
二 安装 uwsgi ,pip install uwsgi
三 配置nginx
打开 nginx.conf文件,
location / {
# root html;
# index index.html index.htm;
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
相应位置如上配置,其中uwsgi_pass是用于nginx和uwsgi通信的端口,不可直接访问
四 建立测试文件test.py ,测试uwsgi是否正常运行
def application(env, start_response):
start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])
return "Hello World"
然后进入test.py所在目录运行 uwsgi --http :8001 --wsgi-file test.py
访问网页:http://127.0.0.1:8001/看在网页上是否有Hello World
五 运行 uwsgi --socket 127.0.0.1:9000 --chdir /data/project/dj/ --wsgi-file dj/wsgi.py --master --processes 2 --threads 2
然后在浏览器输入localhost:8080 即可访问django页面,如果nginx端口是8080的话,
其中127.0.0.1:9000要和nginx配置文件中保持一致
也可建立 uwsgi.ini文件 ,将启动参数保存下来,直接用启动文件启动
在django工程(也可在其他目录,为方便管理)下建立uwsgi.ini文件,
文件内容如下:
[uwsgi]
socket = 127.0.0.1:9090
chdir = /Users/css/djangoprojects/chatbot1/
wsgi-file = chatbot1/wsgi.py
master = true
processes = 2
threads = 2
py-autoreload = 1
其中[uwsgi]也为文件内容,不可少,最后一行为保证uwsgi能实时检测python代码改动,不设置,则每次改动代码都要重启nginx,
配置完 ,使用uwsgi uwsgi.ini即可启动uwsgi访问django,前提是nginx已经启动,
关于 设置实时检测代码改动,也可用
uwsgi --reload uwsgi.pid
其中uwsgi.pid是进程的pid文件,这个方法本人并未实际测试。
以上是关于nginx+uwsgi+django安装配置的主要内容,如果未能解决你的问题,请参考以下文章