搞了一整天,終於以發現自己訪問網絡的端口是錯誤的結束了。
首先要安裝Nginx,uWSGI,Django,Python,這些都可以再網上查到。
安裝好后可以用 whereis 命令查看是否安裝好了各種軟件。
例如 whereis nginx
nginx wget http://nginx.org/download/nginx-0.8.54.tar.gz
Django wget http://media.djangoproject.com/releases/1.2/Django-1.2.5.tar.gz
1.創建django項目
需要用到命令
import os,sys import django.core.handlers.wsgi os.environ['DJANGO_SETTINGS_MODULE']='auth_check.settings' application=django.core.handlers.wsgi.WSGIHandler()
其中auth_check 為你創建的項目名稱
3.創建uwsgi.xml文件
在django.py文件的目錄創建uwsgi.xml
<uwsgi> <socket>0.0.0.0:9090</socket> <listen>20</listen> <master>true</master> <pidfile>/usr/local/nginx/uwsgi.pid</pidfile> <processes>8</processes> <module>django</module> <pythonpath>/root/work/djangodemo/auth_check</pythonpath> <profiler>true</profiler> <enable-threads>true</enable-threads> <logdate>true</logdate> </uwsgi>
其中9090為端口號,這個需要與后面配置的nginx.conf中的端口一樣,module表示上面創建的django.py文件,pythonpath為django.py文件的絕對路徑(可以有多個pythonpath)
4.啟動uwsgi
輸入命令啟動uwsgi
uwsgi -x uwsgi.xml
5.配置nginx
進入nginx目錄 可以通過
which nginx
命令查找,然后再conf目錄下找到 nginx.conf文件,然后更改。
修改前的文件:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
修改后:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
其中9090要與上面的xml文件一樣,80為訪問的端口
6.啟動 nginx
/usr/local/nginx/sbin/nginx
每次修改conf文件后都需要重啟nginx
/usr/local/nginx/sbin/nginx -s reload
7.訪問網絡
curl "http://192.168.153.134"
ip地址可以使ifconfig里面的你的本機的地址,可以是0.0.0.0,可以是127.0.0.1
如果返回的html是django的頁面就表明你成功了
訪問網絡時的端口是nginx.conf里面的listen參數,這里是80,不是uwsgi的端口(9090),切記切記。
8.后記
1)如果訪問網絡,返回的html有“The page you are looking for is temporarily unavailable.”
表明你的uswgi服務沒啟動,或nginx里的端口與uswgi的端口不一致
2)uwsgi有多個參數,-x 表示以xml為配置文件啟動uwsgi,-d /var/log/uwsgi.log 為后台運行uwsgi並把日志寫到/var/log/uwsgi.log里面
