在本地可以 python(3) manage.py runserver
nginx
爲了防止python的某些包沒有安裝django
請先 sudo apt-get install python-dev
vim
而後 sudo apt-get install nginx
服務器
求求你了 別用uwsgi 玩了4個小時 試了不下15種配置方法 無功而返app
如今尚未solution 跳過dom
相比於uwsgi, guncorn不能再好url
先進入虛擬環境source /path/to/env/bin/active
spa
再安裝gunicornsudo pip(3) install gunicorn
unix
/path/to/env/bin/gunicorn --chdir /path/to/project --pythonpath /path/to/env/ -w4 -b0.0.0.0:8017 project.wsgi:application
這邊用的8017端口
新建一個配置文件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文件
若是不配置這個會找不到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)