一. uwsgihtml
1. 安裝python
pip3 install uwsgi
2. 檢驗nginx
def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World"]
uwsgi --http 0.0.0.0:8000 --wsgi-file testTask/tests.py
打開瀏覽器http://127.0.0.1:8000/
uwsgi --http :8000 --file dj_test/wsgi.py
3. 配置uwsgi.inidjango
[uwsgi]
http = :9000
socket = 127.0.0.1:8001
chdir = /Users/conan/vir_env/AutoTest
wsgi-file = /Users/conan/vir_env/AutoTest/AutoTest/wsgi.py
module = AutoTest.wsgi:application
master = true
processes = 4
threads = 2
chmod-socket=664
vacuum=true
daemonize = /Users/conan/vir_env/AutoTest/uwsgi.log
參數解釋:
二. nginx瀏覽器
1. 安裝app
brew install nginx
nginx -v # 查看安裝版本號
nginx -t # 安裝路徑
2. 配置nginx.confsocket
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name 127.0.0.1;
charset utf-8;
access_log /Users/zd/Documents/AutoTest/nginx_access.log;
error_log /Users/zd/Documents/AutoTest/nginx_error.log;
client_max_body_size 75M;
location /static {
alias /Users/zd/Documents/AutoTest/static;
}
location / {
root /Users/zd/Documents/AutoTest;
include /usr/local/etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8001;
}
}
include servers/*;
}
3. 啓動,重啓,關閉url
# 找nginx 安裝路徑 which nginx cd /usr/local/bin/nginx #重啓 nginx -s reload #關閉 nginx -s stop. 或者 kill -9 nginx #是否關閉 ps aux|grep nginx
三. uwsgi+nginx 啓動Django項目spa
1 nginx -t 2 cd /usr/local/etc/nginx 3 把mime.types 文件copy到django 項目與manage.py 同一級
1 uwsgi --ini uwsgi.ini 2 sudo nginx -c nginx.conf #根據報錯信息,缺啥文件補充啥,補完以後,重複該命令
瀏覽器訪問:127.0.0.1:9000/index/code
四. 加載靜態資源
在Django setting.py里加
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
終端執行命令
python3 manage.py collectstatic #收集靜態文件
url.py(例如:AutoTest/AutoTest/url.py)
1 from django.conf import settings 2 urlpatterns = [ 3 url(r'^admin/', include(admin.site.urls)), 4 url(r'', include('testTask.urls')), 5 url(r'^static/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT,}), 8 ]