python--Django+uwsgi+nginx
2020-12-13 03:24
标签:load chmod span 文件 content reads default name app uwsgi+Django 1. 创建测试文件index.py 运行: 然后就是部署Django了。 1.在项目跟目录创建一个ini文件 vim uwsgi.ini 写入代码: 注:Django中的ALLOWED_HOSTS = [] 改为ALLOWED_HOSTS = [‘*’] 2. 启动 然后就可以通过ip加端口访问部署好的项目了,但此时的静态文件是显示不出来的,需要我们在配置好nginx才可以完美的展示。 uwsgi+nginx+Django 1.cd进入‘/etc/nginx/cond.d’目录下修改default.conf文件(建议先备份一份源文件) 2.修改完配置文件,要重新reload一下。 3.请求80接口时,可能会出现permission问题,这时需要关掉selinux 4.收集静态资源。 当访问admin后台没有样式的时候,需要去收集Django中的静态资源。 然后运行指令: 5.修改项目根目录下的ini文件 vim uwsgi.ini 启动: 网页访问ip报502时,应该是权限的问题,所以就需要对应的运行一下指令。 python--Django+uwsgi+nginx 标签:load chmod span 文件 content reads default name app 原文地址:https://www.cnblogs.com/kitshenqing/p/11074629.html
查看uwsgi版本及信息:cmd-->>uwsgi
首先先测试uwsgi能否正常使用
vim index.py
写入下边代码:def application(env, start_response):
start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])
return [b"Hello World"]
uwsgi --http :9090 --wsgi-file index.py
然后就可以通过浏览器访问 ip+端口 看到Hello Worid了
2. 添加并发(加大处理速度)
uwsgi --http :9090 --wsgi-file index.py --processes 4 --threads 2[uwsgi]
http = 0.0.0.0:8000
chdir = /usr/www/DjangoSpider/
wsgi-file = DjangoSpider/wsgi.py
processes = 4
threads = 2
uwsgi uwsgi.ini
server {
listen 80;
server_name localhost; # 对外部用户提供的统一域名
# 将动态请求转发给uwsgi服务器
location / {
# 包含uwsgi请求的参数
include uwsgi_params;
# 转交请求给uwsgi服务器 (uwsgi服务器的ip和端口号)
uwsgi_pass 127.0.0.1:8000; # 单个uwsgi服务器(不需要负载均衡)
#uwsgi_pass upstream1;
}
# 如果是静态资源请求就直接响应资源。
location /static {
# 指定静态文件存放的目录 (需要修改/usr/...目录的操作权限。 $ chmod 777 /usr)
alias /usr/www/项目名/static/;
}
}
nginx -s reload
setenforce 0
#项目名/settings.py(项目配置,STATIC_ROOT设置收集静态资源的路径):
STATIC_URL = ‘/static/‘
STATICFILES_DIRS = [os.path.join(BASE_DIR, ‘static‘)]
# 指定收集静态文件的路径 (需要修改/var/...目录的操作权限)
STATIC_ROOT=‘./static‘
python manage.py collectstatic
[uwsgi]
# http = 0.0.0.0:8000
Socket=0.0.0.0:8000
chdir = /usr/www/DjangoSpider/
wsgi-file = DjangoSpider/wsgi.py
processes = 4
threads = 2
启动nginx:systemctl start/restart nginx
项目根目录:uwsgi uwsgi.ini
查看nginx是否启动:systemctl status nginx
setenforce 0