新聞中心
本人環(huán)境centos 6.x,是剛安裝上的Linux系統(tǒng)。

CentOS IP:192.168.1.1
python:2.7.11
Django:1.9.5
Nginx:1.10.1
進(jìn)入服務(wù)器后,要安裝一大堆東西。
pip(下載django,uwsgi需要用pip下載)
yum install wget -y wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a tar zxvf pip-8.1.2.tar.gz cd ./pip-8.1.2 wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz tar zxvf setuptools-0.6c11.tar.gz cd setuptools-0.6c11 python setup.py build python setup.py install cd ../ python setup.py install
然后利用pip下載django和uwsgi
pip install django==1.9.5 pip install uwsgi
下載完成之后就可以把你所寫的項(xiàng)目放到服務(wù)器上面。我這里距離是放在/project/
然后測(cè)試django
python /project/manage.py runserver 192.168.1.1:8000 #按需求更改IP
然后內(nèi)網(wǎng)訪問192.168.1.1:8000,如果可以正常訪問則OK。
uwsgi
首先新建1個(gè)test.uwsgi.py文件在項(xiàng)目的根目錄。即/project (與manage.py同目錄)
文件內(nèi)容如下:
1 #coding:utf-8
2 import os
3 import sys
4 reload(sys)
5 sys.setdefaultencoding('utf8')
6
7 from django.core.wsgi import get_wsgi_application
8
9 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings") #project為項(xiàng)目名,請(qǐng)按需求修改
10
11 application = get_wsgi_application()
uwsgi的話有2種開啟方法
第一種是直接在命令行輸入命令打開,如:
uwsgi --http 192.168.1.1:8000 --chdir /project --module test_uwsgi --chmod-socket=666
第二種就是添加ini或xml配置文件
新建文件test.ini在項(xiàng)目根目錄
vi /project/test.ini [uwsgi] http = 192.157.1.1:8000 #監(jiān)聽IP和端口 chdir = /project #項(xiàng)目根目錄 module = test_uwsgi #uwsgi文件,注意不用把后綴.py加上去 processes = 4 #開啟4個(gè)進(jìn)程(按需更改) threads = 2 #每個(gè)進(jìn)程開啟4個(gè)線程 enable-threads = True #支持線程啟動(dòng) daemonize = /var/log/uwsgi.log #后臺(tái)啟動(dòng),并把日志記錄到指定文件 buffer-size = 21573 stats = 192.157.1.1:9000
示例中用的是ini配置文件,如需使用xml配置,請(qǐng)另行百度xml配置文件。更多的參數(shù)使用也可以自行百度添加上去
當(dāng)ini配置文件寫好后執(zhí)行
uwsgi --ini /project/blog.ini #--ini 表示使用ini配置文件,xml文件就用--xml
做完這些之后就訪問192.168.1.1:8000端口,如無意外的話是可以訪問成功的,但是我搭建的時(shí)候是可以訪問成功,但是訪問不了css,js,圖片等靜態(tài)文件。
如果出現(xiàn)問題無法訪問成功,請(qǐng)仔細(xì)閱讀啟動(dòng)uwsgi之后彈出來的一系列信息,里面一般都包含有錯(cuò)誤信息。按照提示修改即可。
因?yàn)榫W(wǎng)頁可以訪問成功而且靜態(tài)文件本來就是打算放在nginx上讓用戶直接訪問,所以我就繼續(xù)把配置進(jìn)行下去了。
安裝nginx
因?yàn)橥痉奖?,所以我直接選擇yum 安裝。
wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm chmod +x nginx-release-centos-6-0.el6.ngx.noarch.rpm rpm -i nginx-release-centos-6-0.el6.ngx.noarch.rpm yum install nginx -y
如無法安裝成功,就在百度上搜其他的安裝方法把nginx裝上。
安裝成功之后,nginx的目錄會(huì)在/etc/nginx 下
接下來就要修改nginx 的默認(rèn)配置了。
查看默認(rèn)配置文件
cat /etc/nginx/nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
這是我的默認(rèn)配置文件,如果我沒記錯(cuò)的話應(yīng)該是沒做過任何修改的。請(qǐng)確保里面有include /etc/nginx/conf.d/*.conf;這行
這行的意思就是包含了所有/etc/nginx/conf.d/下 后綴是.conf的配置文件
然后我們?cè)?etc/nginx/conf.d/目錄下創(chuàng)建test.conf
vi /etc/nginx/conf.d/test.conf
server{
listen 80 ; #監(jiān)聽80端口
access_log /var/log/nginx/access.log; #日志文件位置
error_log /var/log/nginx/error.log;
location / {#訪問/時(shí)
include uwsgi_params; #加載uwsgi模塊
proxy_pass http://192.168.1.1:8000; #將連接轉(zhuǎn)到該IP
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location /static/ {
alias /project/static/; #訪問/static時(shí)直接訪問到/project/static
}
}
然后就大功告成了。當(dāng)用戶直接訪問192.168.1.1:80 時(shí) nginx 就會(huì)把連接轉(zhuǎn)到192.168.1.1:8000上。
如果文章內(nèi)有出錯(cuò)的地方,或者對(duì)文章有任何意見,可在評(píng)論下說明。
新聞名稱:CentOS部署Nginx+uWSGI+Django
文章來源:http://m.5511xx.com/article/dpjesoe.html


咨詢
建站咨詢
