前言:
多說(shuō)兩句锅纺,很多人開(kāi)始都有個(gè)疑問(wèn)掷空,為啥有了uwsgi這個(gè)服務(wù)器還要套個(gè)nginx,多次一舉囤锉?
并不是的坦弟,舉個(gè)例子,你自己出去溜達(dá)很容易被被人揍官地,被侵害酿傍,被攻擊被黑,這個(gè)就是uwsgi驱入,有點(diǎn)脆弱個(gè)赤炒,功能不多,只是還可以能用亏较,但是們加了一次nginx莺褒,就相當(dāng)于穿了一身牛逼的裝備,出去溜達(dá)就不怕被打了雪情。專業(yè)的屬于就是uwsgi套了一層nginx遵岩,就可以:
更安全、更快的處理靜態(tài)資源巡通、緩存尘执、更好的配合cdn、多臺(tái)機(jī)器負(fù)載均衡宴凉、Nginx來(lái)處理slow client誊锭、uWSGI支持的是wsgi協(xié)議,Nginx支持的是http協(xié)議跪解,它們之間是有區(qū)別的炉旷。
一句話總結(jié)签孔,nginx增加了web應(yīng)用的功能叉讥,各個(gè)方面的。
一饥追、uwsgi配置
在你的項(xiàng)目根目錄下新建一個(gè)配置文件图仓,這個(gè)配置文件是uwsgi和python程序的連接口,我的如下:
127.0.0.1:8866
/home/work/app/**/
django_wsgi
/home/work/app/**/**/
8
/home/work/log/**/uwsgi.log
true
其中**是項(xiàng)目名稱但绕,其他的都看一下就明白了救崔,module的django_wsgi是項(xiàng)目下的django_wsgi.py文件惶看,這個(gè)是項(xiàng)目的配置啟動(dòng)文件,我的如下
#!/usr/bin/env python
# coding: utf-8
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "**.settings_online")
#from django.core.handlers.wsgi import WSGIHandler
#application = WSGIHandler()
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
注意注釋掉的部分是因?yàn)樾碌膁jango已經(jīng)不兼容的了六孵,要用沒(méi)注釋的代碼才能兼容新的djaongo
配置完這兩個(gè)纬黎,就可以啟動(dòng)uwsgi了
啟動(dòng)命令uwsgi -x /home/work/app/**/ngnix_soket.xml
出現(xiàn)[uWSGI] parsing config file /home/work/app/thrones/ngnix_soket.xml? 就是成功了
這個(gè)時(shí)候外網(wǎng)是訪問(wèn)不到的,只有本機(jī)才可以訪問(wèn)用過(guò)curl 127.0.0.1:8866 查看是否成功
二劫窒、nginx配置
進(jìn)入nginx配置文件夾打開(kāi)配置文件
cd ~/local/nginx/conf/ &?vi nginx.conf
需要修改的位置 第一行一定寫(xiě) user? root; 當(dāng)然你要用別的啟動(dòng)請(qǐng)給相應(yīng)的權(quán)限
下面是我server的配置:
server {
listen? ? ? 8081;
server_name? **.com www.**.com;
access_log /home/work/log/**/ngnix_app_access8081.log;
error_log /home/work/log/**/ngnix_app_error8081.log;
location / {
root /home/work/app/**/;
uwsgi_pass? ? 127.0.0.1:8866;
include? ? ? ? uwsgi_params;
}
error_page? 500 502 503 504? /50x.html;
location = /50x.html {
root? html;
}
location /favicon.ico {
root html;
}
location /static/ {
alias? /home/work/app/**/static/;
}
location /media {
alias? /home/work/app/**/media/;
}
location /download/ {
alias? /home/work/**/download/;
}
}
里面的需要注意的就是域名 和靜態(tài)文件配置
然后還有一大堆圖片加載優(yōu)化的配置我就不貼了本今,我的網(wǎng)站圖片加載很慢。
配置完以上 切換的root用戶 su - root 然后啟動(dòng)下nginx就行了
注意主巍,80端口只有root有權(quán)限起來(lái)冠息,并且要備案才能看見(jiàn)頁(yè)面
========================================
配置完以上的配置,就可開(kāi)心的以訪問(wèn)網(wǎng)站了