1、安裝uwsgi
經過pip安裝uwsgi。html
pip
install
uwsgi
|
測試uwsgi,建立test.py文件:python
def application(
env
, start_response):
start_response(
'200 OK'
, [(
'Content-Type'
,
'text/html'
)])
return
[b
"Hello World"
]
|
經過uwsgi運行該文件。nginx
uwsgi --http :8001 --wsgi-
file
test
.py
|
經常使用選項:web
http : 協議類型和端口號bash
processes : 開啓的進程數量服務器
workers : 開啓的進程數量,等同於processes(官網的說法是spawn the specified number ofworkers / processes)app
chdir : 指定運行目錄(chdir to specified directory before apps loading)socket
wsgi-file : 載入wsgi-file(load .wsgi file)測試
stats : 在指定的地址上,開啓狀態服務(enable the stats server on the specified address)spa
threads : 運行線程。因爲GIL的存在,我以爲這個真心沒啥用。(run each worker in prethreaded mode with the specified number of threads)
master : 容許主進程存在(enable master process)
daemonize : 使進程在後臺運行,並將日誌打到指定的日誌文件或者udp服務器(daemonize uWSGI)。實際上最經常使用的,仍是把運行記錄輸出到一個本地文件上。
pidfile : 指定pid文件的位置,記錄主進程的pid號。
vacuum : 當服務器退出的時候自動清理環境,刪除unix socket文件和pid文件(try to remove all of the generated file/sockets)
2、安裝nginx
sudo
apt-get
install
nginx
#安裝
|
啓動Nginx:
/etc/init
.d
/nginx
start
#啓動
/etc/init
.d
/nginx
stop
#關閉
/etc/init
.d
/nginx
restart
#重啓
|
3、Django部署
在咱們用python manager.py startproject myproject建立項目時,會自動爲咱們生成wsgi文件,因此,咱們如今之須要在項目目錄下建立uwsgi的配置文件便可,咱們採用ini格式:
# myweb_uwsgi.ini file
[uwsgi]
# Django-related settings
socket = :8000
# the base directory (full path)
chdir =
/mnt/myproject
# Django s wsgi file
module = myproject.wsgi
# process-related settings
# master
master =
true
# maximum number of worker processes
processes = 4
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum =
true
daemonize =
/mnt/myproject/uwsgi_log
.log
pidfile =
/mnt/myproject/uwsgi_pid
.log
|
再接下來要作的就是修改nginx.conf配置文件。打開/etc/nginx/nginx.conf文件,http中添加以下內容。
server {
listen 8099;
server_name 127.0.0.1
charset UTF-8;
access_log
/var/log/nginx/myweb_access
.log;
error_log
/var/log/nginx/myweb_error
.log;
client_max_body_size 75M;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
uwsgi_read_timeout 2;
}
location
/static
{
expires 30d;
autoindex on;
add_header Cache-Control private;
alias
/mnt/myproject/static/
;
}
}
|
server_name 設置爲域名或指定的到本機ip。
nginx經過下面兩行配置uwsgi產生關聯:
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
//
必須與uwsgi中配置的端口一致
|
最後咱們在項目目錄下執行下面的命令來啓動關閉咱們的項目:
1 #啓動 2 uwsgi --ini uwsgi.ini 3 /etc/init.d/nginx start 4 5 #中止 6 uwsgi --stop uwsgi_pid.log 7 /etc/init.d/nginx stop
好了 ,如今咱們能夠訪問127.0.0.1:8099便可看到咱們本身的項目了