关于后台的部署问题
写在部署之前:
⼤概看了⼀下部署的步骤。就是说⼯程已经写好了,现在只是把相关的环境装好,然后在配置中更新相关的路径等。⽬的就是为了让Apache/Nginx等到我们的⼯程。
实际上来看,两种部署⽅式没有什么本质上的区别,不过最终来看⽤ Nginx 的⼈好像多⼀点(亮涛说的)。
1. Apa c he 部署
整个部署过程⾛了很多弯路。⾸先是在实验室租的阿⾥云服务器上⾯来做的,但是由于实验室所有的项⽬都是在这个服务器上⾯,所以⾃⼰不敢瞎搞。于是在实验室的服务器上来做,结果由于⽹络代理设置的问题,连 Apache 也没有安装成功。最后,在⾃⼰PC上⾯安装了Ubuntu 虚拟机来做,也没有成功,最终Apache 还是不到⼯程路径,可能还是由于配置中路径设置的问题,并且,权限设置的也有问题,导致从别的地⽅访问不到 APache 的服务器,报错 403。
其中遇到了 cannot load mod_wsgi.cp36.pyd into server 问题,看了⼀下上⾯链接中的问题总结,是wsgi和
apache2版本对应的问题,重新安装了 Apache,最终就起来了。还有静态页⾯格式的问题,也参见上⾯第⼆个链接。2. N ginx 部署
整个部署的链路是 Nginx -> uWSGI -> Python Web程序,通常还会提到supervisord⼯具。其中 supervisord 是进程守护⼯具,类似于你之前⽤过的 pm2。
WSGI(Web Server Gateway Interface) 规范,规定了 python web应⽤和 python web 服务器之间的通讯⽅式。
uwsgi协议是 uWSGI⼯具特有的协议。
uWSGI 是实现了 uwsgi协议/WSGI规范和HTTP协议的⼀个 C 语⾔实现的 软件。
总结,uWGSI ⽤C语⾔实现了三种协议,是⼀个软件!单单⽤这⼀个软件也是可以是实现服务器部署功能的。在下⾯的教程中也是可以看到这个现象的。
看了⾃强学堂的教程,感觉可能这个教程是写给⼀些有基础的⼈看的,或者说这个教程写的很乱,没有条理和章法,跟着做的时候总是云⾥雾⾥的。去年这个时候看他的教程也是这种感觉。
另外这个⽼哥的教程中,还涉及了数据库同步的操作,值得学习,还有 操作,也是值得学习。
3. 总结⼀下:
⾸先,要保证项⽬在服务器上可以跑起来。即 manage.py runserver 可以成功运⾏。
nginx和apache区别下载 uWSGI,并且⽤这个可以跑起来应⽤。
安装和配置 Nginx,完成 uwsgi 和 Nginx 的连接。
整个项⽬跑起来。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论