django项目部署到nginx +uvicorn服务器上
第一步:安装虚拟环境Anaconda,https://www.anaconda.com/
- 下载后传到服务器上,运行下列命令:
把Downloads
换成anaconda所在的目录 - 剩余部分参考官方文档
- 创建一个虚拟环境,这一步很有必要。
- 安装django及各种库
第二步:安装nginx
- 安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
- 安装PCRE,https://sourceforge.net/projects/pcre/files/ 具体安装步骤参考https://www.runoob.com/linux/nginx-install-setup.html
- 安装nginx 参考 http://nginx.org/en/linux_packages.html#RHEL-CentOS
第三步,安装uvicorn
第四步,配置nginx,打开`/etc/nginx/conf.d
`目录下的deault.conf文件,修改如下:
location / {
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://127.0.0.1:8000;
}
location /static/ {
root /home/medical/;
}
注意:location 后面要有空格,否则起动nginx时会报错,static 是存放静态文件的地方,在django的settings文件中配置STATIC_ROOT
。
第五步,安装supervisor
来管理进程
在/etc/supervisord.d
目录下创建medical.ini文件,内容如下:
[program:medical]
directory=/opt/central_console_django/
command=gunicorn central_console_django.asgi:application --reload -k uvicorn.workers.UvicornWorker
numprocs=4
process_name=uvicorn-%(process_num)d
stdout_logfile_maxbytes=20MB
启动supervisor服务
supervisord -c /etc/supervisord.conf
部署完成,在浏览器中输入http://49.232.206.129/admin
注意:一定要注意修改nginx配置文件后没起作用,要把nginx停止,再杀掉nginx进程,重启nginx.
参考文档:
https://blog.csdn.net/qq_42571805/article/details/80862455
nginx 反向代理
https://www.cnblogs.com/zhenyauntg/p/13188293.html
https://www.cnblogs.com/btxlc/p/12627500.html
https://blog.csdn.net/xyang81/article/details/51555473
https://www.e-learn.cn/topic/3732388