- 一、部署架构
- 二、用pycharm导出项目依赖包
- 三、将项目打成zip包,并上传到Linux服务器
- 四、Linux服务器安装python3
- 五、安装项目依赖包
- 六、修改配置文件settings.py
- `关闭debug模式和白名单`
- `设置访问白名单`
- 七、准备数据库
- 八、启动开发环境,验证依赖模块
- 九、安装与配置uwsgi
- `安装uwsgi`
- `创建uwsgi配置文件`
- `启动uwsgi`
- 十、安装nginx
- 十一、访问
一、部署架构
Nginx实现动静分离、负载均衡
uWSGI部署Django项目
Nginx与uWSGI在同一服务器上
pip install pipreqs # 进入到项目所在目录,在执行下面的命令 $> pipreqs . --encoding=utf8 --force # “.” 指的是将导出依赖包的文件放在当前目录下 # “--encoding=utf8” 指的是存放文件的编码为utf-8,否则会报错 # “--force” --force 强制执行,当生成目录下的requirements.txt存在时强子覆盖
生成requirements.txt文件
选中需要打包的内容,右击→添加到压缩文件
Linux源码编译python3
五、安装项目依赖包cd /opt unzip ldp.zip -d ldp cd ldp pip3 install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com六、修改配置文件settings.py 关闭debug模式和白名单
DEBUG = False设置访问白名单
ALLOWED_HOSTS = ['*'] # 白名单,只允许列表中的ip访问,*代表所有七、准备数据库
我这里是共用开发环境的数据库,如果部署一个新库,需要修改settings.py中DATABASES中的配置
并执行数据库同步
python3 manage.py migrate八、启动开发环境,验证依赖模块
python3 manage.py runserver 0.0.0.0:8080
如下,代表启动正常
Ctrl+C退出
uWSGI是一个Web服务器,也是Python的一个模块,直接pip安装即可
pip3 install uwsgi -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com创建uwsgi配置文件
vim /opt/ldp/uwsgi.ini
[uwsgi] # 项目目录 chdir = /opt/ldp # 指定sock的文件路径 socket = /opt/ldp/uwsgi.sock # 指定监听端口 #http = 0.0.0.0:8080 # 静态资源 static-map = /static=/opt/ldp/static # wsgi文件(django入口) wsgi-file=ldp/wsgi.py # 进程个数 processes = 4 # 进程pid pidfile = /opt/ldp/uwsgi.pid # 日志路径 daemonize = /var/log/uwsgi.log启动uwsgi
uwsgi --ini /opt/ldp/uwsgi.ini
相关命令:
uwsgi --reload /opt/ldp/uwsgi.ini #重载django项目 uwsgi --stop /opt/ldp/uwsgi.pid #停止Django项目十、安装nginx
yum -y install epel-release yum -y install nginx
vi /etc/nginx/nginx.conf
server {
listen 80 default_server;
server_name _;
location / {
include uwsgi_params; # 导入模块用于与uwsgi通信
uwsgi_pass unix:/opt/ldp/uwsgi.sock;
}
# 静态文件目录
location /static {
alias /opt/ldp/static;
}
}
启动nginx
十一、访问http://IP



