1.代码上线(部署)
代码上线之前的配置准备:
- 在配置文件 配置:ALLOWED_HOSTS = ['*',]
- 配置:DEBUG = False
- 在配置文件里 配置:STATIC_ROOT = "allstatic" # 把所有的静态文件放在一起了上线的时候才能找到
- python manage.py collectstatic # 执行这句话 就可以把所有的静态文件放在一起了上线的时候才能找到
1. 将本地文件打包,拷贝服务器上
1,可以直接托到Xshell 5
2,用windows:filezilla
点点点,去下载
等等。。。。。。
2.程序:s9deploy.zip 上传到服务器
如果没有 下载的这个功能 安装 :yum install lrzsz
解压你上传的 项目 zip包 没有那个命令的话 安装: yum install unzip
在安装 uwsgi 在之前你必须有 python3
下载python3 下载 :https://www.cnblogs.com/jiangchunsheng/p/9270225.html
下载 uwsgi :pip3 install uwsgi #uwsgi 替换了 wsgi 因为: uwsgi 支持 多线线程,多进程,并发,
编辑uwsgi 配置文件:
注释: 要在你项目里执行
vim uwsgi_s9deploy.ini
[uwsgi] http = 0.0.0.0:8001 # scoket = 0.0.0.0:8001 chdir = /data/s9deploy/ wsgi-file = s9deploy/wsgi.py process = 4 static-map = /static=/data/s9deploy/allstatic
执行项目:
uwsgi --ini /data/s9deploy/uwsgi_s9deploy.ini
安装 nginx :
yum install nginx
配置 nginx 配置文件
vim /etc/nginx/nginx.conf
user root; worker_processes 4; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; include /etc/nginx/mime.types; default_type application/octet-stream; upstream django { server 127.0.0.1:8001; # 多个服务器 分担并发 # server 192.1.123.1; # 另一个 服务器 不用下nginx 也是正常项目 uwsgi ,项目目录 } server { listen 80; charset utf-8; # max upload size client_max_body_size 75M; location /static { alias /data/oldboy/allstatic; } location / { uwsgi_pass django; include uwsgi_params; } } } 示例配置文件/etc/nginx/nginx.conf
d. 启动uwsgi和nginx & 符是在后台执行的意识
1
2
3
|
uwsgi --ini
/data/oldboy/oldboy
.ini &
/etc/init
.d
/nginx
start
|
3. supervisor
supervisor是一个对进程管理的软件,可以帮助我们启动uwsgi并维护(uwsgi进程关闭时,自动将其启动起来)。
a. 安装
1
|
yum
install
supervisor
|
b. 配置 vim /etc/supervisor.conf
c. 启动
1
2
3
|
supervisord
/etc/supervisor
.conf
或
/etc/init
.d
/supervisor
start
|