欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

django项目部署

程序员文章站 2022-06-11 10:44:06
...

django项目部署

开发模式中,采用的django自带的服务器进行的服务器进行网站的开发和测试

python manage.py runserver [ip:port]

在项目上线和需要部署在服务器的时候,我们就需要采用其他的服务器进行代理

服务器:uWSGI

pip install uwsgi

如果是在windows下安装uwsgi,则采用上述方式会出现问题。

 Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\hlM\AppData\Local\Temp\pip-install-3rt4q85e\uwsgi\setup.py", line 3, in <module>
    import uwsgiconfig as uc
  File "C:\Users\hlM\AppData\Local\Temp\pip-install-3rt4q85e\uwsgi\uwsgiconfig.py", line 8, in <module>
    uwsgi_os = os.uname()[0]
AttributeError: module 'os' has no attribute 'uname'

这种问题出现的原因则是uwgi作为代理服务器是不支持在windows下部署 的。

解决方案:

需要去uwsgihttps://pypi.org/project/uWSGI/#files进行下载gz文件。

下载后进入源文件中的uwsgiconfig.py,编辑替换其中的os.uname为platform.uname。当然在此之前需要在前面导包

import platform

然后通过

python setup.py install

进行安装,会出现

Exception: you need a C compiler to build uWSGI

这是因为安装uWSGI需要一个C编译器

编译器:minGW

安装minGW,还需要环境变量配置,一切完成后,然后

python setup.py install

在linux上安装uwsgi时也会出现问题

lto1: fatal error: bytecode stream generated with LTO version 6.0 instead of the expected 3.0
compilation terminated.
lto-wrapper: gcc returned 1 exit status
/home/mhl/anaconda3/compiler_compat/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
*** error linking uWSGI ***

这种情况是linux默认的gcc问题,需要对gcc的版本更改。

相关标签: python全栈开发