[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虚拟环境中的
# 注意这里的3.6要与python的版本相对应,不然后面的安装会失败
apt-get install python3.6-dev
pip install uwsgi
在django项目目录下创建一个uwsgi.ini,配置如下:
[uwsgi]
# 配置服务器的监听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
# 退出的时候清空环境变量
vacuum=true
# 记录进程的pid方便用于管理进程的启动和结束
pidfile = /home/ubuntu/uwsgi_pid.log
# python虚拟环境的位置
home=/home/ubuntu/nev
# 缓存大小的设置
buffer-size=32768
测试uwsgi之前先测试一下django项目是否正常运行,python manage.py runserver 0.0.0.0:8000
测试uwsgi之前开启uwsgi的http协议,关闭socket协议,使用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监听的端口不能和uwsgi监听的端口一样
- 修改nginx配置文件之后需要restart重启一下nginx才能生效