1.布署前需要关闭调试、允许任何机器访问,打开settings.py文件
DEBUG = False
ALLOWED_HOSTS = ['*',]
2.在本机进入虚拟环境,执行命令导出当前需要的所有包
pip freeze > plist.txt
3.通过ftp软件FileZilla将项目代码和plist.txt文件上传到服务器(比如说你司买的阿里云)
4.创建虚拟环境,在虚拟环境上安装包
mkvirtualenv 虚拟环境名称
pip install -r plist.txt
5.安装uWSGI
pip install uwsgi
6.配置uWSGI,在项目目录下创建uwsgi.ini文件,配置如下
[uwsgi]
#使用nginx连接时使用
socket=127.0.0.1:8899
#直接做web服务器使用
#http=127.0.0.1:8899
#项目目录
chdir=/Users/Desktop/PycharmProjects/Django/项目名称
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=项目名称/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
7.启动uWSGI /停止
uwsgi --ini uwsgi.ini
uwsgi --stop uwsgi.pid
#当然你可以看下进程有木有
ps ajx|grep uwsgi
8.Nginx-转向uwsgi
安装移步到:Nginx Mac 安装
9.找到Nginx路径,配置nginx.conf文件
/usr/local/etc/nginx/nginx.conf
10.nginx.conf文件的server节点下添加新的location项,指向uwsgi的ip与端口
location / {
#将所有的参数转到uwsgi下
include uwsgi_params;
#uwsgi的ip与端口
uwsgi_pass 127.0.0.1:8899;
}
具体修改如图:
11.在server节点下添加新的location项,用于处理静态文件,如上图
location /static {
alias /var/www/dailyfresh/static/;
}
12.在服务器上创建如下目录(我这里本机作为服务器)
sudo mkdir -vp /var/www/dailyfresh/static/
修改目录权限
sudo chmod 777 /var/www/dailyfresh/static/
13.修改settings.py文件
STATIC_ROOT='/var/www/dailyfresh/static/'
14.收集所有静态文件到static_root指定目录
python manage.py collectstatic
15.开启器nginx 开启uwsgi
nginx
uwsgi --ini uwsgi.ini