[toc]
安裝流程
本人是在ubuntu上部署的
1、升級python版本,ubuntu默認python版本是2.7和3.5的但是我需要的是python3.6,這里是python版本升級的參考
2、安裝nginx,測試nginx并進行基礎配置
3、安裝uwsgi,測試uwsgi并進行基礎配置
4、進行nginx、uwsgi和django的整合
安裝uwsgi
我是將uwsgi安裝在python虛擬環(huán)境中的
# 注意這里的3.6要與python的版本相對應,不然后面的安裝會失敗
apt-get install python3.6-dev
pip install uwsgi
在django項目目錄下創(chuàng)建一個uwsgi.ini,配置如下:
[uwsgi]
# 配置服務器的監(jiān)聽ip和端口,讓uWSGI作為nginx的支持服務器的話,設置socke就行;如果要讓uWSGI作為單獨的web-server,用http
#http=0.0.0.0:8000
socket= 0.0.0.0:9999
# 配置項目目錄(此處設置為項目的根目錄)
chdir=/home/ubuntu/BEFB
# 這里代表在項目目錄下包含了wsgi文件的文件目錄---------------------------------
module=BEFB.wsgi:application
# 是否開啟一個進程來管理其他的服務進程
master=true
# 開啟的進程數量
processes=2
# 進程開啟線程的數量
threads=4
# 以守護進程方式提供服, 輸出信息將會打印到log中
daemonize=/home/ubuntu/BEFB/uwsgi.log
# 退出的時候清空環(huán)境變量
vacuum=true
# 記錄進程的pid方便用于管理進程的啟動和結束
pidfile = /home/ubuntu/uwsgi_pid.log
# python虛擬環(huán)境的位置
home=/home/ubuntu/nev
# 緩存大小的設置
buffer-size=32768
測試uwsgi之前先測試一下django項目是否正常運行,python manage.py runserver 0.0.0.0:8000
測試uwsgi之前開啟uwsgi的http協(xié)議,關閉socket協(xié)議,使用uwsgi --ini uwsgi.ini開啟服務。
安裝Nginx
Nginx安裝在全局
sudo apt-get install nginx
安裝完成之后,Nginx會自動開啟,使用瀏覽器測試一下,文件大致結構如下:
所有配置文件都在:/etc/nginx
默認的配置文件(這個文件不一般不做修改):/etc/nginx/nginx.conf
這個文件夾里面的文件是我們對Nginx自定義的配置(我們的配置寫在里面的文件):/etc/nginx/sites-available/
Nginx使用的自定義配置文件夾(我們將自定義的配置文件的軟鏈接放到里面,Nginx就會啟用):/etc/nginx/sites-enabled/
軟鏈接的使用:ln -s 源地址 目的地址 例如:ln -s /opt/linux/rootfs_dir /home/jyg/rootfs_dir
Nginx使用的一些操作:
service Nginx stop------關閉
service Nginx restart------重啟
配置Nginx
這里是一些基礎配置:
server {
listen 9998;
server_name 148.70.16.137;
charset UTF-8;
error_log /home/ubuntu/nginx.log;
client_max_body_size 75M;
location / {
include uwsgi_params;
uwsgi_pass 0.0.0.0:9999;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/ubuntu/BEFB/static/img;
}
}
注意幾點
- nginx監(jiān)聽的端口不能和uwsgi監(jiān)聽的端口一樣
- 修改nginx配置文件之后需要restart重啟一下nginx才能生效