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的版本更改。