前提条件:html
个人django项目名称为:hello,所在目录是:/media/p1/proj/py/hello/nginx
切换工做目录到hello项目所在目录shell
# cd /media/p1/proj/py/hello/
启动uwsgidjango
# uwsgi --http 127.0.0.1:8080 --file hello/wsgi.py --static-map=/static=static
或浏览器
# uwsgi --http :8080 --file hello/wsgi.py --static-map=/static=static
此时能够经过访问 http://127.0.0.1:8080/
看看是否成功。app
这一步能够避免每一次启动uwsgi都要指定那么多选项。
个人配置文件建立于:/etc/uwsgi/uwsgi.ini
socket
# uwsig使用配置文件启动 [uwsgi] # 项目目录 chdir=/media/p1/proj/py/hello/ # 指定项目的application module=hello.wsgi:application # 指定sock的文件路径 socket=/media/p1/proj/py/script/uwsgi.sock # 进程个数 workers=1 pidfile=/media/p1/proj/py/script/uwsgi.pid # 指定IP端口 http=127.0.0.1:9090 # 指定静态文件 static-map=/static=/media/p1/proj/py/hello/static # 启动uwsgi的用户名和用户组 uid=root gid=root # 启用主进程 #master=true # 自动移除unix Socket和pid文件当服务中止的时候 vacuum=true # 序列化接受的内容,若是可能的话 # thunder-lock=true # 启用线程 # enable-threads=true # 设置自中断时间 #harakiri=30 # 设置缓冲 #post-buffering=4096 # 设置日志目录 daemonize=/var/log/uwsgi/uwsgi.log
server { listen 80; server_name a.test.haoxueba.net; location / { include uwsgi_params; #uwsgi_pass 127.0.0.1:9090; uwsgi_pass unix:/media/p1/proj/py/script/uwsgi.sock; #uwsgi_param UWSGI_PYHOME test.py; uwsgi_param UWSGI_SCRIPT hello.wsgi; #uwsgi_param UWSGI_CHDIR; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { } }
启动uwsgipost
uwsgi --ini /etc/uwsgi/uwsgi.ini
ui
和刚开始启动的方式不一样,咱们如今指定了配置文件,就不须要再每次设置那么多选项了。.net
更新nginx配置:nginx -s reload
或启动nginx:nginx
在浏览器地址栏输入:http://a.test.haoxueba.net
看看咱们期待的结果会不会出现?
注意:我当初作到这一步,并无成功,检查发现uwsgi.sock文件没有建立,原来是权限问题,我将其目录开放了写权限,就OK了。
设置目录可写:chmod +w /media/p1/proj/py/script