nginx + gunicorn + django 2.0 踩坑
部署踩坑
提前准备
在本地能够 python(3) manage.py runserver
服务器端准备
安装nginx
为了防止python的某些包没有安装
请先 sudo apt-get install python-dev
然后 sudo apt-get install nginx
使用uwsgi部署
求求你了 别用uwsgi 玩了4个小时 试了不下15种配置方法 无功而返
现在还没有solution 跳过
使用gunicorn配置
相比于uwsgi, guncorn不能再好
先进入虚拟环境source /path/to/env/bin/active
再安装gunicornsudo pip(3) install gunicorn
/path/to/env/bin/gunicorn --chdir /path/to/project --pythonpath /path/to/env/ -w4 -b0.0.0.0:8017 project.wsgi:application
这边用的8017端口
配置nginx
新建一个配置文件sudo vim /etc/nginx/sites-available/your_conf.conf
在your_conf.conf
中写下如下内容:
server {
listen 80;
server_name your_domain_name.com;
charset utf-8; client_max_body_size 75M; location /media {
alias /path/to/project/media;
} location /static {
alias /path/to/project/static;
} location / {
uwsgi_pass unix:///home/tu/zqxt/zqxt.sock;
include /etc/nginx/uwsgi_params;
}
}
listen默认一般都是80端口, 如果没有media文件就不配置,这个static文件夹是运行python(3) manage.py collectstatic
后生成的文件夹,因为没有用到uwsgi,所以uwsgi_pass看心情随缘,include按照这个来.
然后复制到/sites-enabled/
中: sudo ln -s /etc/nginx/sites-available/your_conf.conf /etc/nginx/sites-enabled/your_conf.conf
ps: nginx配置一般都在/etc/nginx/
中,/sites-available/
里面保存你可能要用到的configure文件
在/sites-enabled/
保存目前生效的configure文件
配置django中的路径url
如果不配置这个会找不到static文件夹
from django.conf.urls.static import static
from your_project import settings
urlpatterns = [
# your path here
path('admin/', admin.site.urls, name='admin'),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
这是Django 2.0版本之后才有的,详情请见官方文档 https://docs.djangoproject.com/en/2.0/ref/urls/
然后 service nginx restart
重启nginx,就可以看到了网页了.
(注意只能在gunicorn中配置的端口访问 eg: your_domain_name.com:8017)
最新文章
- js 字符串中的\n不会换行
- windows平台下安装、编译、使用mongodb C++ driver
- font-family 字体
- 【管理心得之九】奉劝那些把组织“玩弄于鼓掌之间”的OL们。(别让组织看见此篇)
- SQL Server ->;>; EXECUTE AS LOGIN/USER和Revert表达式
- poj 2060 Taxi Cab Scheme (二分匹配)
- ARM指令分类学习
- HDU 4483 Lattice triangle(欧拉函数)
- JS 定時刷新父類頁面
- PHP安装和配置
- Position详解---转
- 在win7在结构cocos2d-x v3.2rc0开发环境(For Android)
- 201521123093 java 第十周学习总结
- requests关于Exceeded 30 redirects问题得出的结论
- HNOI2002 营业额统计(Splay Tree)
- Linux设置允许指定端口通过防火墙centos7
- 2019春下载的sublime text都无法自动安装package control:解决办法
- 创建Dynamic Web Project时 显示最新Apache Tomcat 8.0 的方法
- centos7 安装python2.7与3共存
- RBAC权限管理及使用原生PHP实现