ubuntu+apache+python+django部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu+apache+python+django部署相关的知识,希望对你有一定的参考价值。

 由于任务需要,在公司服务器部署的nginx+django服务要在阿里云上也部署一份,防止因公司断网儿服务无法访问;阿里云是ubuntu14.04+apache2.4的环境,需要安装需要的环境加以部署。

       ubuntu14.04 默认python 2.7 ,现需要环境为python 3.5,需要安装python3.5

  1. sudo add-apt-repository ppa:fkrull/deadsnakes  
  2. sudo apt-get update 
  3. sudo apt-get install python3.5

      更改python3默认为3.5,因为服务器自带python2.7和python3.4

      sudo ln -s /usr/bin/python3.5 /usr/bin/python3

   安装pip(我是用源码安装,将源码放在一个文件中,安装后删除)

        wget https://bootstrap.pypa.io/get-pip.py

        sudo python3 get-pip.py

    安装virtualenv环境(创建一套“隔离”的Python运行环境,只需要一个目录,不用的话直接删掉,方便快捷)

   pip3 install virtualenv

   mkdir myproject(在目录下创建一个文件夹)

   cd /myproject

 创建独立的python运行环境

  virtualenv --no-site-packages venv

  source venv/bin/activate (运行该环境)

 安装django

       pip install django

     安装apache mod-wsgi 扩展

  sudo apt-get install libapache2-mod-wsgi-py3

   配置apache虚拟目录

  vim /etc/apache2/site-available/site.conf

  <VirtualHost *:80>

  ServerName chinaipv6.org
  ServerAlias www.chinaipv6.org
  ServerAdmin [email protected]


  WSGIScriptAlias / /var/www/chinaipv6/v6monitor/v6monitor/wsgi.py
  WSGIDaemonProcess chinaipv6 lang=en_US.UTF-8 python-home=/var/local/project python-path=/var/www/chinaipv6/v6monitor    # lang=en_US.UTF-8   解决‘ascii‘ codec decode byte)xe5 in position的错误(编码错误)python-home 指向python虚拟环境 python-path 指向django项目目录
  WSGIProcessGroup chinaipv6    #(可以不写)

  Alias /static /var/www/chinaipv6/static    #(静态文件位置)

  <Directory /var/www/chinaipv6/v6monitor/v6monitor>
  <Files wsgi.py>
  Require all granted
  </Files>
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/chinaipv6.error.log
  CustomLog ${APACHE_LOG_DIR}/chinaipv6.access.log combined
  </VirtualHost>

     apache载入虚拟目录配置文件

  a2ensite site.conf

       service apache2 restart

    将django项目放入对应 的web目录下,浏览器访问

   错误解决 :

   1. 技术分享

   mod_wsgi 模块版本要和运行环境的python保持一致或者高于运行环境的python,之前我的操作 sudo apt-get install libapache2-mod-wsgi-py3,是在没有安装python3.5的时候,py3的默认版本是python3.4,可以删除模块重新下载,或者使用python3.4的虚拟环境

   2.  没有静态文件,网站打开很乱,没有布局,多半是静态文件没有生效。

  1. 确保你的配置文件中的路径是正确的

  2. 确保你的settings.py中的文件设置正确

  3. 收集静态文件  python manage.py collectstatic

 













以上是关于ubuntu+apache+python+django部署的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu配置Django+ Apache2+ mysql

Ubuntu安装Apache + mod_wsgi + Trac + Python 2.7

使用 Python 3.6、Apache 2.4 和 Django 1.11 在 Ubuntu 上安装 mod_wsgi

Python 2.7.12+Django 1.11.8+Ubuntu 16.04.4 LTS+Apache 2.4.33????????????

Ubuntu系统使用apache部署多个django项目(python4.3)

关于ubuntu环境下的APACHE2