python-django框架-电商项目-项目部署:
uwsgi作为web服务器:
- 在pycharm中启动项目:使用python manage.py runserver
- 这个runserver是django提供的开发的时候的web服务器,这个服务器只在开发的时候使用,部署的时候不会,部署的时候使用uwsgi,
- uwsgi
- 这是一个遵循wsgi协议的web服务器,
- ################### 报错 ###########################
- 安装:pip install uwsgi,这个转入自己的虚拟环境,
- 报错:AttributeError: module 'os' has no attribute 'uname'
- 解决:
- 定位到uwsgiconfig.py文件中,首先import platform后,将os.unam()都改为platform.uname()即可。
- os.uname()是不支持windows系统的。platform模块是支持任何系统。
- 2.下载uwsgi离线安装
- https://pypi.python.org/pypi/uWSGI/
- 解压后,进入目录下
- python setup.py install
- 报错:Exception: you need a C compiler to builduWSGI
- 安装了MinGW的c编译器,但是还是不行,
- ################################################################
- 下面我尝试在Linux系统部署项目
- 安装:pip install uwsgi,这个转入自己的虚拟环境,
- Ubuntu pip3安装uwsgi报错
- Running setup.py install for uwsgi ... error
- 解决方法:sudo apt-get install -y python3-dev
- 测试uwsgi是否安装成功完成:uwsgi --version
- 安装成功了,
- uwsgi这个安装好了,怎么用它启动我们的项目?
- uwsgi的配置:
- 项目部署的时候,一定要把settings下面的DEBUG改为FALSE
- DEBUG = False
- ALLOWED_HOSTS = ['*']
- 使用uwsgi还需要进行一个配置,
- 在项目目录下,新建一个文件uwsgi.ini,这个ini就是配置文件的后缀
- uwsgi的启动和停止,
- 启动:uwsgi --ini uwsgi.ini (后面是配置文件的路径) #不加--ini也可以
- 停止:uwsgi --stop uwsgi.pid
- 重启:uwsgi --reload uwsgi.pid
- 启动的时候报错:
- uwsgi: option ‘–http’ is ambiguous
- getopt_long() error
- 解决:sudo apt-get install uwsgi uwsgi-core uwsgi-plugin-python#uwsgi-plugin-python一定要安装
- 但是还是不行,
- 又找到一个解决方案:Ubuntu 安装 libxml*
- 然后我找到了方法:sudo apt-get install libxml*
- 但是又报错了:报错:无法安装XXX, 需要依赖于XXX,那就先去安装这个依赖的XXX
- 然后开始找这个报错的解决方案:
- 首先需要安装 aptitude:sudo apt-get install aptitude
- 然后使用 aptitude 安装包:sudo aptitude install libxml*
- 发现这个方法也不对,!!!!!!
- 不对,还是要理清思路 !!!!!!!!!!!!!!
#############################################################
重新理清思路:
第一步:安装uwsgi
- 进入虚拟环境:
- pip install uwsgi
- uwsgi --version,看到版本就安装好了,
第二步:uwsgi的配置
- 1,项目部署的时候,一定要把settings下面的DEBUG改为FALSE
- DEBUG = False
- ALLOWED_HOSTS = ['*']
- 2,在项目目录下,新建一个文件uwsgi.ini,这个ini就是配置文件的后缀

#添加配置选择 [uwsgi] #配置和nginx连接的socket连接 #socket=127.0.0.1:8080 #直接做web服务器使用 python manage.py runserver ip:port http=127.0.0.1:8080 #配置项目路径,项目的所在目录 chdir=/home/andy/bj18/dailyfresh #配置wsgi接口模块文件路径 wsgi-file=dailyfresh/wsgi.py #配置启动的进程数 processes=4 #配置每个进程的线程数 threads=2 #配置启动管理主进程 master=True #配置存放主进程的进程号文件 pidfile=uwsgi.pid #配置dump日志记录 daemonize=uwsgi.log #设置虚拟环境的路径 virtualenv=/home/andy/.virtualenvs/lq_py3
- 3,