久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

uWSGI其三:uWSGI搭配Nginx使用

 昵稱54185769 2018-06-14

上一篇介紹了 uWSGI 來部署 Django 程序,但在在生產(chǎn)環(huán)境中單單只有 uWSGI 是不夠的,,Nginx是必不可少的工具。

先安裝 Nginx,,可以參照前面的小節(jié):使用RPM安裝Nginx

Nginx 配置

在 nginx.conf 上加入/修改,,我的 server 配置如下(一切從簡(jiǎn)……):

01server {
02    listen       80;
03    server_name  115.28.0.89;
04    #server_name localhost;
05 
06    access_log /home/nowamagic/logs/access.log;
07    error_log /home/nowamagic/logs/error.log;
08 
09    #root         /root/nowamagic_venv/nowamagic_pj;
10    location / {
11        uwsgi_pass 127.0.0.1:8077;
12        #include uwsgi_params;
13        include /etc/nginx/uwsgi_params;
14        #uwsgi_pass 127.0.0.1:8077;
15        #uwsgi_param UWSGI_SCRIPT index;
16        #uwsgi_param UWSGI_PYHOME $document_root;
17        #uwsgi_param UWSGI_CHDIR  $document_root;
18   }
19   access_log off;
20}

注意保證配置里寫的目錄 /home/nowamagic/logs/ 和 /home/nowamagic/logs/ 存在,,接下來就沒啥問題了,Nginx 配置很簡(jiǎn)單,。

uWSGI 配置

前面我們是直接使用命令行來啟動(dòng) uWSGI,在實(shí)際部署環(huán)境中,,我們常用的是配置文件的方式,而非命令行的方式,。

我的 Django 程序目錄:/root/nowamagic_venv/nowamagic_pj/

這里讓 Nginx 采用 8077 端口與 uWSGI 通訊,請(qǐng)確保此端口沒有被其它程序采用,。

uWSGI 支持多種配置文件格式,比如 xml,,ini,json 等等都可以,。

1. xml 配置

請(qǐng)確定你在上一節(jié)中的django_wsgi.py文件已經(jīng)存在了。新建一個(gè)XML文件:nowamagic_pj.xml,,將它放在 /root/nowamagic_venv/nowamagic_pj 目錄下

01<uwsgi>
02 <socket>127.0.0.1:8077</socket>
03 <listen>80</listen>
04 <master>true</master>
05 <pythonpath>/root/nowamagic_venv/nowamagic_pj</pythonpath>
06 <processes>1</processes>
07 <logdate>true</logdate>
08 <daemonize>/var/log/uwsgi.log</daemonize>
09 <plugins>python</plugins>
10</uwsgi>

然后執(zhí)行命令:

1uwsgi -x /root/nowamagic_venv/nowamagic_pj/nowamagic_pj.xml
2or
3/usr/local/bin/uwsgi -x /root/nowamagic_venv/nowamagic_pj/nowamagic_pj.xml

加載指定的xml配置文件,。當(dāng)使用命令行參數(shù)時(shí),可以使用簡(jiǎn)化命令“-x”,。當(dāng)然也可以不簡(jiǎn)寫:

1uwsgi --xml /etc/nowamagic.xml

甚至如果在命令行的最后一個(gè)參數(shù)以“.xml”結(jié)尾,,那么就隱含將加載該xml文件作為配置。

1uwsgi /etc/nowamagic.xml

有時(shí)候因各種環(huán)境問題,,-x --xml 命令識(shí)別不了,,可以使用下面的 ini 配置方式:

2. ini 配置

01[uwsgi]
02vhost = false
03plugins = python
04socket = 127.0.0.1:8077
05master = true
06enable-threads = true
07workers = 1
08wsgi-file = /root/nowamagic_venv/nowamagic_pj/nowamagic_pj/wsgi.py
09virtualenv = /root/nowamagic_venv
10chdir = /root/nowamagic_venv/nowamagic_pj

然后執(zhí)行命令:

1uwsgi --ini /root/nowamagic_venv/nowamagic_pj.ini&

uwsgi 這樣就啟動(dòng)起來了,。如果無意外的話,就能在網(wǎng)上訪問你的 Python 項(xiàng)目了,。

小插曲

我在配置完 Nginx 和 uWSGI 之后,訪問時(shí)顯示 502 錯(cuò)誤,。查看 uWSGI 啟動(dòng)信息,,發(fā)現(xiàn)這么一條:ImportError: No module named django.core.wsgi,。

然后推斷,我的 CentOS 上的 Python 版本是 2.4.3,,然后進(jìn)入 virtualenv,執(zhí)行:

1python
2<<< import django
3<<< from django.core.wsgi import get_wsgi_application
4<<<

則沒報(bào)錯(cuò),,因?yàn)槲业奶摂M環(huán)境里的 Python 版本是 2.7.5,。推斷成立,但是虛擬環(huán)境里的 Django 會(huì)默認(rèn)調(diào)用外部環(huán)境的 Python,。解決方法:在虛擬環(huán)境里 pip install django,。

OK,,問題解決,一切正常,。

一些我在配置時(shí)用到的命令,,省得你去搜索:

1. 關(guān)閉 uWSGI:

1killall  -9 uwsgi
2killall -s HUP /var/www/uwsgi 
3killall -s HUP /usr/local/bin/uwsgi

2. 列出端口占用情況:

1netstat -lpnt

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多